HttpServletRequest isUserInRole() - 如何获取完整的角色列表?

6

HttpServletRequest的isUserInRole()方法将根据角色是否存在返回布尔值。现在,如果它正在执行此操作,它应该在某个地方具有已登录用户的完整角色列表。我如何获取完整的角色列表?


2
它应该具备已登录用户的完整角色列表:否,则可以通过查询LDAP目录、数据库或其他任何方式来检查用户的角色。 - JB Nizet
1个回答

2

isUserInRole()使用请求的SecurityContext,而这个SecurityContext需要您的身份验证器进行设置。 SecurityContext接口没有提供访问此信息的方法,但您可以在身份验证器中执行某些操作,以使该信息可作为提供程序访问,或将其添加为请求属性并以此方式访问它。


同意。可能您有一个像“isUserInRole(8)”这样的检查,并且上下文检查用户是否具有较低的数字。在此方案中,角色的数量是无限的,因此无法完成。 - cmonkey
SecurityContext是一种EE特有的东西,在Tomcat或其他非EE Servlet容器中不存在。他没有提到EE方面的任何内容。 - user207421

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接