2017-07-12 2 views
1

Ich verwende Spring Security (nun, jasper meldet Server, der Spring-Sicherheit verwendet), um eine Verbindung zu einem Microsoft AD herzustellen. Aber ich erhalte in meinem Log eine "schlechte Anmeldeinformationen", aber ich weiß, dass die Credentials in Ordnung sind und ich auf meinem Rechner mit JXplorer eine Verbindung zu meinem AD herstellen kann und ein anderes Programm verwenden kann, um mich mit diesem Account anzumelden. Das Protokoll zeigt es verbindet, aber versagt:Spring LDAP 'schlechte Anmeldeinformationen' (konnte nicht gebunden werden)

Authentication attempt using com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSLdapAuthenticationProvider 
Processing authentication request for user: pharmacy 
Searching for user 'pharmacy', with user search [ searchFilter: '(sAMAccountName={0})', searchBase: 'OU=Users', scope: subtree, searchTimeLimit: 0, derefLinkFlag: false ] 
Got Ldap context on server 'ldap://10.17.188.4:389/dc=harris,dc=local' 
Searching for entry under DN 'dc=harris,dc=local', base = 'ou=Users', filter = '(sAMAccountName={0})' 
Found DN: cn=pharmacy,ou=Users 
Attempting to bind as cn=pharmacy,ou=Users,dc=harris,dc=local 
Removing pooling flag for user cn=pharmacy,ou=Users,dc=harris,dc=local 
Failed to bind as cn=pharmacy,ou=Users: org.springframework.ldap.AuthenticationException: [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C0903AA, comment: AcceptSecurityContext error, data 532, v1772 
Bad credentials 

In meinem AD wird der Benutzer wie folgt:

Distinguished Name: CN = Apotheke, OU = Users, DC = harris, DC = local

Meine Konfiguration ist wie folgt:

<bean id="ldapAuthenticationProvider" class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSLdapAuthenticationProvider"> 
    <constructor-arg> 
     <bean class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSBindAuthenticator"> 
      <constructor-arg> 
       <ref local="ldapContextSource"/> 
      </constructor-arg> 
      <property name="userSearch"> 
       <ref local="userSearch" /> 
      </property> 
     </bean> 
    </constructor-arg> 
</bean> 


<bean id="ldapContextSource" class="com.jaspersoft.jasperserver.api.security.externalAuth.ldap.JSLdapContextSource"> 
    <constructor-arg value="ldap://10.17.188.4:389/DC=harris,DC=local"/> 
    <property name="userDn" value="CN=ldadmin,OU=Users,DC=harris,DC=local"/> 
    <property name="password" value="xxxxx"/> 
    <property name="referral" value="follow" /> 
</bean> 


<bean id="userSearch" 
     class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.ldap.JSFilterBasedLdapUserSearch"> 
    <constructor-arg index="0"> 
     <value>OU=Users</value> 
    </constructor-arg> 
    <constructor-arg index="1"> 
     <value>(sAMAccountName={0})</value> 
    </constructor-arg> 
    <constructor-arg index="2"> 
     <ref local="ldapContextSource" /> 
    </constructor-arg> 
    <property name="searchSubtree"> 
     <value>true</value> 
    </property> 
</bean> 

ich sehe so viele verschiedene Permutationen von Config im Internet schwer zu wissen, es ist was zu folgen. Ich hatte einen DefaultLdapAuthoritiesPopulator-Konstruktor für die Gruppe mit dem Authentifizierungsanbieter, der aber auch nicht funktionierte.

Kann jemand helfen? Danke vielmals.

Antwort

0

Es scheint ein VPN-Problem gewesen zu sein. Das obige ist in Ordnung :)

Lassen für den Fall, dass jemand Microsoft AD mit Jasper/Spring arbeiten muss.

Verwandte Themen