0

在我的 Spring portlet 控制器中,我有一个这样注释的方法:

@PreAuthorize("hasRole('ROLE_BankUser') 

现在,当用户登录到门户并尝试访问 portlet 时,该方法从哪里知道用户是否具有“ROLE_BankUser”角色?是否将在用户拥有所有其他凭据(如登录名和密码)的 LDAP 中定义?

4

1 回答 1

0

检查您的 SpringSecurity 配置。您使用哪个AuthenticationProvider实现?在 LDAP 的情况下,它可能是LdapAuthenticationProvider。如果是真的,那么您可以检查 LdapAuthenticationProvider.authenticate(Authentication authentication) 方法是如何实现的。它将通过一些 LdapAuthoritiesPopulator 实现从 LDAP 加载角色(取决于您的配置)

于 2013-01-10T10:26:06.963 回答