我一直在寻找这个,但运气不好。当我使用@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等其他企业服务器中使用吗?
答案 0 :(得分:2)
这取决于您部署的环境。原因很简单 - 应用程序开发人员无法知道(也不应该)安全信息存储在应用程序将部署到的环境中的方式和位置。因此,这种映射(用户或组到应用程序角色)是有意的,应该在部署到特定环境时完成。
例如,在GlassFish上,您就是这样做的 - official Java EE Tutorial。
@DeclareRoles
是Java EE规范的一部分(我相信5及以上),因此您可以在任何兼容的服务器上使用它。