開発メモ

開発用のメモです。

サーブレットセキュリティの設定

サーブレットセキュリティ

web.xml/servlet

<servlet>
    <servlet-name>index</servlet-name>
    <servlet-class>com.example.servlet.Servlet</servlet-class>
    <security-role-ref>
        <role-name>ADMIN</role-name>
    </security-role-ref>
</servlet>

web 3.0 after

package com.example.servlet;

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.*;

@ServletSecurity(
    value=@HttpConstraint(rolesAllowed="ADMIN")
)
@WebServlet("/index")
public class IndexServlet extends HttpServlet {
  // 実装
}

サーブレットセキュリティ by filter

web.xml/filter

<security-constraint>
    <web-resource-collection>
        <web-resource-name>index</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection> 
    <auth-constraint>
        <role-name>ADMIN</role-name>
    </auth-constraint>
</security-constraint>

web 3.0 after

package com.example.servlet;

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.*;

@ServletSecurity(
        httpMethodConstraints={
                @HttpMethodConstraint("GET")
                ,@HttpMethodConstraint("POST")
        }
        ,value=@HttpConstraint(rolesAllowed="ADMIN")
)
@WebFilter("/*")
public class SessionFilter implements Filter {
  // 実装
}
Twitter: @asahina_alice