Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
de:shibidp3ldap [2016/07/14 10:31] Martin Lunzede:shibidp:config-ldap-nopool [2021/04/26 14:58] – überarbeitungsbedürftig Silke Meyer
Zeile 1: Zeile 1:
-====== Spezielle LDAP Konfiguration ====== +====== LDAP ohne Connection Pool ======
-===== LDAP ohne Connection Pool =====+
 Gibt es Probleme bei der Verbindung mit dem LDAP-Server unter Verwendung eines Connection Pools, so kann man diesen mit folgenden Schritten deaktivieren. Gibt es Probleme bei der Verbindung mit dem LDAP-Server unter Verwendung eines Connection Pools, so kann man diesen mit folgenden Schritten deaktivieren.
  
-Die aktuelle IdP-Version (3.2.1) basiert auf [[http://www.ldaptive.org/index.html|Ldaptive]] und benutzt standardmäßig eine sogenannte [[http://www.ldaptive.org/docs/guide/connections.html|PooledConnectionFactory]].\\ +Der IdP benutzt standardmäßig eine sogenannte [[http://www.ldaptive.org/docs/guide/connections.html|PooledConnectionFactory]]. Das heißt, dass eine definierte Anzahl an Verbindungen zum LDAP-Dienst aufrecht erhalten wird und Authentifizierungen sofort stattfinden können (Performance-Verbesserung).
-Das heist im Speziellen, dass Shibboleth eine definierte Anzahl an Verbindungen zum LDAP-Dienst aufrecht erhält.\\ +
-Vorteil dabei ist, dass zum Zeitpunkt des Logins eines Nutzers nicht erst eine Verbindung zum LDAP aufgebaut werden muss, sondern dieser sich ohne Verzögerung sofort authentifizieren kann. (Performance-Verbesserung)+
  
-Wenn aus welchen Gründen auch immer diese Verbindung beendet wird, so registriert Shibboleth dies und baut selbstständig eine neue auf.\\ +Wenn diese Verbindung beendet wird, so registriert Shibboleth dies und baut selbstständig eine neue auf. Dies kann man über ein paar Parameter in ''conf/ldap.properties'' ([[https://wiki.shibboleth.net/confluence/display/IDP30/LDAPAuthnConfiguration#LDAPAuthnConfiguration-Properties|IdP 3.x]], [[https://wiki.shibboleth.net/confluence/display/IDP4/LDAPAuthnConfiguration#55804291414bc06da6fe4d90ba837912b84b54aa|IdP 4.x]]) steuern. In der Konfigurationsdatei sehen Sie die (auskommentierten) Standardeinstellungen und können sie bei Bedarf verändern (Beispiel für IdP 4.x).
-Dies kann z.B. auftreten wenn der LDAP-Server die Verbindungen nach einer bestimmten "idleTime" beendet.\\ +
-Im Großen und Ganzen kann man dies alles über ein paar [[https://wiki.shibboleth.net/confluence/display/IDP30/LDAPAuthnConfiguration#LDAPAuthnConfiguration-Properties|Parameter]] unter conf/ldap.properties steuern.+
  
-<file xml conf/ldap.properties>+<file properties conf/ldap.properties>
 # LDAP pool configuration, used for both authn and DN resolution # LDAP pool configuration, used for both authn and DN resolution
 #idp.pool.LDAP.minSize                          = 3 #idp.pool.LDAP.minSize                          = 3
Zeile 17: Zeile 12:
 #idp.pool.LDAP.validateOnCheckout               = false #idp.pool.LDAP.validateOnCheckout               = false
 #idp.pool.LDAP.validatePeriodically             = true #idp.pool.LDAP.validatePeriodically             = true
-#idp.pool.LDAP.validatePeriod                   300 +#idp.pool.LDAP.validatePeriod                   PT5M 
-#idp.pool.LDAP.prunePeriod                      300 +#idp.pool.LDAP.validateDN                       
-#idp.pool.LDAP.idleTime                         600 +#idp.pool.LDAP.validateFilter                   (objectClass=*) 
-#idp.pool.LDAP.blockWaitTime                    3000 +#idp.pool.LDAP.prunePeriod                      PT5M 
-#idp.pool.LDAP.failFastInitialize               false+#idp.pool.LDAP.idleTime                         = PT10M 
 +#idp.pool.LDAP.blockWaitTime                    PT3S
 </file> </file>
  
-Nun kann es in Einzelfällen jedoch dazu kommen, dass die Verbindung zwar erhalten bleibt, jedoch in einer definierten Zeit keine Antwort vom LDAP zurück kommt. (z.B. bei erhöhtem Load)\\ +Es kann dazu kommen, dass die Verbindung zum LDAP-Server zwar erhalten bleibt, jedoch in einer definierten Zeit keine Antwort zurück kommt. Unter Umständen können sich Nutzer*innen dann nicht mehr am IdP einloggen.
-Dies führt letztendlich dazu, dass sich Nutzer nicht mehr am IdP einloggen können wenn dieser die maximale Anzahl an Verbindungen erreicht hat.+
  
 Ein passender Eintrag in den Logfiles sieht wie folgt aus: Ein passender Eintrag in den Logfiles sieht wie folgt aus:
Zeile 36: Zeile 31:
 </code> </code>
  
-Ältere Versionen vom IdP haben hingegen keine Verbindungen offen gehalten, sondern diese erst geöffnet, wenn sich ein Nutzer einloggt.\\ +Um den Connection Pool im **IdP 4.x** abzuschaltenkönnen Sie die Einstellung ''idp.authn.LDAP.disablePooling'' in ''ldap.properties'' auf den Wert ''true'' setzen.
-Die maginale Verzögerung beim Aufbau der Verbindungen sollte aus Sicht des Nutzers nicht zu spüren sein und spätestens dann vertretbar seinwenn solch ein Problem-Fall eintritt.+
  
-Um nun zu diesem Verhalten zu wechseln müssen lediglich zwei kleine Änderungen in der conf/authn/ldap-authn-config.xml getätigt werden.\\ +Um den Connection Pool im **IdP 3.x** abzuschalten, müssen lediglich zwei kleine Änderungen in der ''conf/authn/ldap-authn-config.xml'' getätigt werden: Entfernen Sie das Wort "Pooled" aus den class-Bezeichnungen und den connectionFactory-Referenzen und schon wird statt der PooledConnectionFactory die DefaultConnectionFactory benutzt.
-Wir entfernen hier das Wort "Pooled" aus den class-Bezeichnungen und den connectionFactory-Referenzen und schon wird statt der PooledConnectionFactory die DefaultConnectionFactory benutzt.+
  
 <file xml conf/authn/ldap-authn-config.xml> <file xml conf/authn/ldap-authn-config.xml>
Zeile 87: Zeile 80:
 <!-- ... --> <!-- ... -->
 </file> </file>
 +
 +{{tag>idp3 idp4 fixme}}
  • Zuletzt geändert: vor 3 Jahren