başarıyla kimlik doğrulaması için LDAP aracılığıyla Active Directory bağladığınız ve benim ldap.xml aşağıdaki ile benim özel yetkililer Populator aradım:Spring Güvenlik ve ActiveDirectoryLdapAuthenticationProvider ile özel bir yetkililer popülatörünü nasıl kullanırım?
<bean id="ldapAuthenticationProvider"
class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
<constructor-arg ref="ldapBindAuthenticator"/>
<constructor-arg ref="ldapAuthoritiesPopulator"/>
</bean>
<bean id="ldapBindAuthenticator"
class="org.springframework.security.ldap.authentication.BindAuthenticator">
<constructor-arg ref="ldapServer"/>
<property name="userSearch" ref="ldapSearch"/>
</bean>
<bean id="ldapSearch"
class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
<constructor-arg value="CN=Users"/>
<constructor-arg value="(sAMAccountName={0})"/>
<constructor-arg ref="ldapServer"/>
</bean>
<bean id="ldapAuthoritiesPopulator"
class="my.project.package.ActiveDirectoryLdapAuthoritiesPopulator"/>
<bean id="ldapServer"
class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<constructor-arg value="ldap://192.168.0.2/dc=test,dc=server"/>
<property name="userDn" value="[email protected]"/>
<property name="password" value="ldap"/>
<property name="baseEnvironmentProperties">
<map>
<entry key="java.naming.referral">
<value>follow</value>
</entry>
</map>
</property>
</bean>
Bu iyi çalışır, ben de kullanıcının tespit edebilirsiniz yetkilendirme onun grup üyeliklerine göre, ama yerine yerleşik Active Directory LDAP Kimlik Doğrulama Sağlayıcısı ile bu yapacağını: böylece,
<bean id="ldapAuthenticationProvider"
class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
<constructor-arg value="test.server"/>
<constructor-arg value="ldap://192.168.0.2:389"/>
<property name="convertSubErrorCodesToExceptions" value="true"/>
</bean>
yukarıdaki ile sorun benim özel yetkililer Populator (besbelli) 'dir aramadı olmasıdır Kullanıcılarımı doğrulayabilirim (yukarıdakilerle çalışır), Gruplar olmadan ayrıldım (bu yetkisini belirlemem gerekiyor).
Bunun basit bir soru olduğunu hissediyorum, ama hayatım boyunca burada veya başka bir yerde bir cevap bulamıyorum. ActiveDirectoryLdapAuthenticationProvider sınıfını genişletmeli ve oradan yetkililer popülatörümü çağırmalı mıyım?
(Bu sitenin bana birkaç yıl boyunca vermiş olduğu tüm yardımlar için teşekkürler, bu sitenin etkinliği sadece yakın zamanda bir hesap oluşturmaktan rahatsız olduğum gerçeğiyle ölçülebilir ve bu benim ilk sorum. Yardımınız için şimdiden teşekkür ederiz.)