2016-07-20 19 views
0

Ich benutze Apache Shiro-Plugin in Kombination mit LDAP für Benutzer Authentifizierung. Um dies zu tun, muss ich den Benutzernamen und das Passwort des LDAP-Servers beibehalten. Ich möchte wirklich nicht Quellcode der Anwendung ändern und wollen Anmeldeinformationen in einer Konfigurationsdatei Vorerst shiro.ini halten meine shiro.ini wie dieseShiro.ini ldap Server Anmeldeinformationen

[main] 
ldapRealm = org.apache.zeppelin.server.LdapGroupRealm 
ldapRealm.contextFactory.environment[ldap.searchBase] = OU=Users,DC=mycompany,DC=local 
ldapRealm.contextFactory.url = ldap://myldapserver:389 
ldapRealm.userDnTemplate = uid={0},ou=Users,dc=mycompany,dc=local 
ldapRealm.contextFactory.authenticationMechanism = SIMPLE 
securityManager.realms = $ldapRealm 

sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager 
securityManager.sessionManager = $sessionManager 
securityManager.sessionManager.globalSessionTimeout = 86400000 

shiro.loginUrl = /api/login 

sieht Was für ein Name einer Eigenschaft wäre es zu tun? Vielen Dank im Voraus

Antwort

1

Ich könnte falsch sein, aber ich glaube, dass es als vorausgesetzt der Benutzer ist verbindlich, anstatt einen separaten Benutzer, der dann den DN des Benutzers gegen die Authentifizierung nachschlägt. Ich habe gerade meinen Zeppelin mit LDAP Auth eingerichtet und musste keinen 'Benutzer binden' in die Konfiguration einfügen.

ldapRealm = org.apache.zeppelin.server.LdapGroupRealm 
## search base for ldap groups (only relevant for LdapGroupRealm): 
ldapRealm.contextFactory.environment[ldap.searchBase] = dc=mydomain,dc=local 
ldapRealm.contextFactory.url = ldap://ldap.mydomain.local:389 
ldapRealm.userDnTemplate = uid={0},ou=Users,dc=mydomain,dc=local 
ldapRealm.contextFactory.authenticationMechanism = SIMPLE 
+0

Vielen Dank für Ihre Antwort. Würde es Ihnen etwas ausmachen, ein Beispiel für Ihre Konfiguration zu geben? – thepolina