Spring Security đã hỗ trợ LDAP out-of-box. Nó thực sự có toàn bộ chương về điều này.
Để sử dụng và định cấu hình LDAP, hãy thêm spring-security-ldap
phụ thuộc và tiếp theo sử dụng AuthenticationManagerBuilder.ldapAuthentication
để cấu hình nó. LdapAuthenticationProviderConfigurer
cho phép bạn thiết lập những thứ cần thiết.
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication()
.contextSource()
.url(...)
.port(...)
.managerDn(...)
.managerPassword(...)
.and()
.passwordEncoder(passwordEncoder())
.userSearchBase(...)
.ldapAuthoritiesPopulator(new UserServiceLdapAuthoritiesPopulater(this.userService));
}
Những thứ tương tự như vậy (nó sẽ cung cấp cho bạn ít nhất một ý tưởng về những gì / cách cấu hình mọi thứ) có nhiều tùy chọn hơn nhưng hãy kiểm tra javadocs cho điều đó. Nếu bạn không thể sử dụng UserService
cũng như truy xuất các vai trò (vì chỉ các vai trò trong cơ sở dữ liệu) sau đó triển khai LdapAuthoritiesPopulator
cho điều đó.