【发布时间】:2016-12-15 15:39:56
【问题描述】:
我有一个使用 LDAP 服务器进行身份验证的应用程序。它工作正常。但是,有一个问题:在这个 LDAP 服务器中,我没有用户角色。我将它们放在另一台服务器中,在我的应用程序访问的数据库中。从现在开始,我需要将用户角色添加到应用程序中。
我想知道如何获取这些角色并将它们添加到 configureGlobal 方法的 AuthenticationManagerBuilder 身份验证中。有可能吗?
一些信息:
我的 configureGlobal 方法是:
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication().userSearchFilter("uid={0}").contextSource().url(host);
}
我使用的是休眠 4.3.8 和 Spring Security 4.1.1。
具有角色的表是这样创建的:
create table UserGroup (
user varchar2(250),
role varchar2(250)
);
记录是这样的:
[用户1,角色1]
[用户1,角色2]
[用户1,角色3]
[用户1,角色4]
[用户2,角色1]
[用户2,角色2]
如您所见,同一个用户可以拥有多个角色。同一角色可以分配给多个用户。我知道它需要标准化,但我认为目前这并不重要。
【问题讨论】:
标签: spring hibernate spring-security