使用Spring安全性在多后端webapp中切换角色

时间:2012-01-12 11:04:52

标签: spring spring-security roles

我正在Tomcat 6上使用多后端webapp(使用Java 6)。我使用带有LDAP的spring-security(3.1.0.RELEASE)来检查登录密码和自定义填充程序以从我的数据库中获取角色。一切正常。

我还使用Pretty-faces 3.3.2来解析URL。

我的populator看起来像

public abstract class MyAuthoritiesPopulator implements LdapAuthoritiesPopulator {

@Autowired
private UserService userService;

@Override
public final Collection<? extends GrantedAuthority> getGrantedAuthorities(DirContextOperations userData, String username) {
    final List<GrantedAuthority> authorities = newArrayList();
    authorities.addAll(userService.findRoleFromDataBase(...));
    return authorities;
}

在我的webapp中,我使用URL来选择目标后端。

我的网址看起来像www.mycorp.com/mywebapp/myaction/mylang/mybackend/someotherparam ... 例如,如果mybackend参数等于“45”,那么我将获得SIMPLE_USER角色。如果mybackend参数等于“32”,那么我将获得ADMIN和TRANSLATOR角色。等

一旦我连接(即LDAP的登录密码正常),我就可以从一个后端切换到另一个后端,只需更改URL即可。但是我如何让Spring-security重新加载(即重新填充)角色,具体取决于mybackend参数。

请求帮助。 个。

0 个答案:

没有答案