2014-12-28 34 views
1

我正在使用@RolesAllowed。它似乎只適用於一個恆定的價值。但是,在Java EE的@RolesAllowed中是否存在一個解決方案來使用非常量角色?角色允許非常量值

感謝

回答

1

不,這是不可能使用標準的Java EE聲明式安全非恆名。相反,使用@DeclareRolesHttpServletRequest.isUserInRoleEJBContext.isCallerInRole

+0

如何在客戶端應用程序(如Servlets/JSP/JSF/Swing - AWT ...)中獲得'EJBContext'實例?使用'EJBContext context =(EJBContext)new InitialContext()。lookup(「java:comp/EJBContext」);'? – Tiny

+0

您只能在EJB調用中獲取並使用'EJBContext'實例。從servlet/JSP/JSF中,您必須保留'HttpServletRequest',否則您將不得不調用EJB方法來檢查安全性。 (Swing/AWT是客戶端編程模型,所以我不明白這個問題的部分內容。) –