我们正在使用Spring Security来保护我们的应用程序。我们需要记录哪些角色或哪些角色已授予高层访问应用程序的权限。我们是一个多租户应用程序,因此我们使用正则表达式匹配器来匹配"/groupOne/"
之类的模式,并且使用ROLE_GROUP_ONE
之类的角色来授予访问权限。在某些情况下,用户具有多个角色,因此他们可以访问多个租户。我们有一个安全要求,要记录他们访问哪个租户与哪个组。
例如,用户bill
具有角色ROLE_GROUP_ONE
和ROLE_GROUP_TWO
。当他访问groupTwo
租户时,我们想记录bill
登录到grouptTwo
角色为ROLE_GROUP_TWO
的租户中。
我们目前有一个扩展了SavedRequestAwareAuthenticationSuccessHandler
的自定义成功处理程序,但是调用user.getAuthorities()
会返回用户有权访问的所有角色。
我已经做过一些研究,并研究了AccessDecisionManager
,但是我不想实现自己的客户经理,就像我只想记录AccessDecisionVoter
的结果一样,我认为。是否有一种方法可以访问这些类,就像我们已经用于获取此信息的成功处理程序中的方法一样?
我们正在使用Spring 1.4.2.RELEASE。