@DeclareRoles如何定义特定角色中的用户?

时间:2014-01-19 03:19:30

标签: java servlets java-ee-6

我一直在寻找这个,但运气不好。当我使用@DeclareRoles("javaee6user")时,我应该如何声明我应该将哪个用户绑定到此角色?例如,以下代码使用此@DeclareRoles

@DeclareRoles("javaee6user")
public class LoginServlet extends HttpServlet {
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    }
}
BTW,我的理解是这个注释是Glassfish规范,我可以在WebSphere和JBoss等其他企业服务器中使用吗?

1 个答案:

答案 0 :(得分:2)

这取决于您部署的环境。原因很简单 - 应用程序开发人员无法知道(也不应该)安全信息存储在应用程序将部署到的环境中的方式和位置。因此,这种映射(用户或组到应用程序角色)是有意的,应该在部署到特定环境时完成。

例如,在GlassFish上,您就是这样做的 - official Java EE Tutorial

@DeclareRoles是Java EE规范的一部分(我相信5及以上),因此您可以在任何兼容的服务器上使用它。