0
RESTサービスでLDAP認証を行うプロジェクトがあります。私のLDAP構成には、SHA(Salted SHA)パスワードハッシュ方式があります。私が使用したときにSHAメソッドをサポートしているSpringのLDAP認証のベストプラクティスガイドでは、クレデンシャルが間違っている間に悪いクレデンシャルを取得しました。Salted SHAタイプのSpring LDAP認証の不正な資格情報パスワード
マイコンフィギュレーションクラス参照:
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()
.userSearchFilter("uid={0}")
.contextSource(contextSource())
.passwordCompare()
.passwordEncoder(new LdapShaPasswordEncoder())
.passwordAttribute("userPassword");
}
@Bean
public DefaultSpringSecurityContextSource contextSource() {
return new DefaultSpringSecurityContextSource(Arrays.asList("ldap://localhost:8389/"), "dc=springframework,dc=org");
}
}
マイLDIF構成。
dn: uid=ben,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Ben Alex
sn: Alex
uid: ben
userPassword: {SSHA}pcFdFhO/NS98EhTRup60PMkHMWFRDkJ3jUu1Zg==
私の元のパスワードはTest1234
です。私のpom.xml
ファイル。
<dependency>
<groupId>org.springframework.ldap</groupId>
<artifactId>spring-ldap-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-ldap</artifactId>
</dependency>
<dependency>
<groupId>com.unboundid</groupId>
<artifactId>unboundid-ldapsdk</artifactId>
</dependency>
SSHAパスワード暗号化を使用しているLDAPサーバーのユーザー名/パスワードで認証するにはどうすればよいですか?