我正在尝试将Spring身份验证与嵌入式ldap集成。
我在本地ldif文件中有用户信息。
用户1
dn: uid=joe,ou=otherpeople,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Joe Smeth
sn: Smeth
uid: joe
userPassword: joespassword
用户2
dn: uid=bob,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Bob Hamilton
sn: Hamilton
uid: bob
userPassword: bobspassword
Spring网络安全配置文件
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().fullyAuthenticated()
.and()
.formLogin();
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()
.userDnPatterns("uid={0},ou=people")
.contextSource()
.url("ldap://localhost:8389/dc=springframework,dc=org")
.and()
.passwordCompare()
.passwordAttribute("userPassword");
}
}
配置文件中的userDnPattern我使用了ou=people(uid={0},ou=people),所以我可以对bob进行身份验证。说到乔,他的目录路径是不同的。所以我无法使用joe的用户名和密码登录。
无论目录结构如何,我对所有用户进行身份验证的SpringConfigance应该是什么?
使用userSearchFilter对DIT(目录信息树)中的任何用户进行身份验证。
Spring的配置是,
auth.ldapAuthentication()
.userSearchFilter("(uid={0})")
.contextSource()
.url("ldap://localhost:8389/dc=springframework,dc=org")
.and()
.passwordCompare()
.passwordAttribute("userPassword");
谢谢@Ericlawault
下面是我得到的错误(堆栈跟踪中列出的最后几个原因) 它似乎不喜欢contextSource bean的constructor-arg中列出的URL,尽管我不确定原因。 另外,我怀疑这个配置的其他部分是不正确的。例如,我在ldap-server标记和contextSource bean中定义了ldap服务器URL。这似乎是不必要的重复,但在示例中是这样做的。有人能好好看看配置,以确保它是正常的吗?
我正在尝试使用spring security 2.0.3进行LDAP身份验证 下面是我的配置 我应该在哪里提到域名?
我试图建立一个新的服务器,作为网关(使用sping-Cloud-网关作为基础),我需要能够在实际转发任何后续请求之前通过远程LDAP服务器验证用户。我将如何实现这个(包,配置等)?
我已经创建了一个Restful应用编程接口。我在这里使用LDAP身份验证。我们公司有一个LDAP目录服务器,我在我的中使用下面的方法。 这是我的LDAP身份验证方法,我将此方法用作服务层中的实用程序。 这是我的服务层类,我将实用程序类作为一种注入,可以用于身份验证方法。当我以swagger或postman用户名和密码发送请求时,给定来自请求的值,我会将它们保存到表的数据库中。但在坚持之前,身份验证
我无法使用真正的active directory进行身份验证,让我更好地解释一下,我尝试使用spring提出的示例进行身份验证。io无问题—内部服务启动时没有任何问题。参考https://spring.io/guides/gs/authenticating-ldap/ 我试图通过插入active directory的配置来修改下面的代码,但没有成功。你能不能给我一个真实的例子,让我看看在不使用内部