【发布时间】:2011-11-27 17:03:58
【问题描述】:
将 glassfish 3.1.1 用于 Java EE6 项目,glassfish-web.xml 中定义的安全角色映射不会影响“用户 - 角色”映射。
调用request.isUserInRole("USER") 和request.isUserInRole("ADMIN") 总是返回false。
glassfish-web.xml
<glassfish-web-app>
<security-role-mapping>
<role-name>ADMIN</role-name>
<group-name>ADMIN</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>USER</role-name>
<group-name>USER</group-name>
</security-role-mapping>
</glassfish-web-app>
如下所示用@DeclareRoles注释LoginBean.java,按预期分配角色。
LoginBean.java
...
@DeclareRoles({"ADMIN", "USERS"})
@Named(value = "loginBean")
@RequestScoped
public class LoginBean implements Serializable { ...
为什么我需要LoginBean.java 中的@DeclareRoles 才能获得request.isUserInRole 的有效“用户-角色”映射?
【问题讨论】:
标签: jakarta-ee ejb-3.0 glassfish-3 cdi