Tôi đang cố gắng sử dụng xác thực LDAP Spring Security 3.0.2 cho một trang web JSF. Khi tôi sử dụng cấu hình bên dưới trong applicationContext-security.xml, tôi nhận được ngoại lệ này - org.springframework.beans.factory.BeanCreationException: Lỗi khi tạo bean có tên 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices # 0' : Khởi tạo đậu không thành công; ngoại lệ lồng nhau là org.springframework.context.ApplicationContextException: Không có UserDetailsService nào được đăng ký.Ngoại lệ LDAP mùa xuân - Không có UserDetailsService nào đã đăng ký
<authentication-manager>
<ldap-authentication-provider
user-search-filter="(uid={0})" user-search-base="ou=users,ou=system"
group-search-base="ou=groups,ou=system">
</ldap-authentication-provider>
</authentication-manager>
<ldap-server id="ldapServer" url="ldap://localhost:10389"
root="" />
Tôi vừa thử nghiệm và nhận thấy rằng việc thêm vào bên dưới giúp mọi thứ hoạt động.
<ldap-user-service server-ref="ldapServer" user-search-filter="(uid={0})" />
Nhưng tôi không thể tìm thấy tham chiếu đến điều này trong Spring LDAP documentation. Tại sao tôi nhận được ngoại lệ trên nếu tôi không thêm điều này? Tôi không hài lòng với cách giải quyết này vì tôi cần viết thuộc tính bộ lọc tìm kiếm người dùng ở hai nơi.
PS: Tôi đã kiểm tra Spring Security LDAP - No UserDetailsService registered. Có ngoại lệ khác và tôi đoán phiên bản Spring Security cũng khác.