在我的Spring portlet控制器中,我有一个注释方法如下:
@PreAuthorize("hasRole('ROLE_BankUser')
现在,当用户登录门户并尝试访问portlet时,此方法将从何处知道用户是否具有“ROLE_BankUser”角色?它是否会在用户拥有所有其他凭据(如登录名和密码)的LDAP中定义?
答案 0 :(得分:0)
检查SpringSecurity配置。您使用哪种 AuthenticationProvider 实施?在LDAP的情况下,它可能是 LdapAuthenticationProvider 。如果是,那么您可以检查LdapAuthenticationProvider.authenticate(身份验证身份验证)方法是如何实现的。它将通过一些LdapAuthoritiesPopulator实现从LDAP加载角色(取决于您的配置)