Konfigurieren von Single Sign-On
Mit Single Sign-On können Benutzer sich einmal bei einer Softwareanwendung anmelden und erhalten dabei Zugriff auf mehrere Softwaresysteme, ohne dass sie aufgefordert werden, sich erneut anzumelden. Wenn Sie Single Sign-On für Ihr Content-Management-System (CMS) oder für andere hinzugefügte Seiten konfigurieren, müssen sich Benutzer Ihres Geoportals nur einmal anmelden, um Zugriff auf alle Anwendungen mit aktiviertem Single Sign-On zu erhalten.
Hinweis:Die folgenden Anweisungen sind Vorschläge und basieren darauf, wie SSO während des Testens konfiguriert wurde. In Ihrer Organisation ist möglicherweise eine andere Vorgehensweise erforderlich. Diese hängt von Ihrer Servlet-Container-Software, anderen Anwendung mit SSO, Sicherheitsrichtlinien und anderen Überlegungen ab.
Konfigurationsanweisungen für Tomcat-LDAP und Single Sign-On
Diese Single Sign-On-Konfiguration wurde bei Tomcat 5.5.17 getestet, und es wird davon ausgegangen, dass Sie Benutzer bereits über LDAP konfiguriert haben, und zwar entsprechend den Geoportal-Installationsanweisungen. Wenn Sie LDAP eingerichtet haben, fahren Sie mit den folgenden Schritten fort, um Single Sign-On zu aktivieren: Sie müssen sowohl an Ihrer Tomcat-Datei "server.xml" als auch Ihre Konfigurationsdatei für die Geoportal-Webanwendung Änderungen durchführen.
- Ändern der Tomcat-Datei "server.xml"
- Navigieren Sie zum Ordner <TOMCAT>\conf, und öffnen Sie die Datei "server.xml" in einem Texteditor.
- Suchen Sie nach dem Abschnitt, in dem die <Realms> definiert sind. Dies kann unter dem Element <engine> oder dem Element <host> sein. Es hängt von den anderen Webanwendungen ab, die Sie für Ihr System bereitstellen und die sich nicht unbedingt auf das Geoportal beziehen, wo Sie Bereiche (realms) definieren. Im folgenden Beispiel wird das Element <realm> innerhalb von <host> platziert. Wenn <Realms> unter dem Element <engine> gefunden werden, ersetzen Sie in den folgenden Anweisungen alle Referenzen zu <host> mit <engine>. Weitere Informationen finden Sie in der Apache Tomcat-Dokumentation.
- Fügen Sie das folgende <realm>-Element in den Abschnitt <host> ein. Stellen Sie sicher, den Code so zu ändern, dass er zu Ihren LDAP-Einstellungen passt. Dort wird fett gedruckt angezeigt. Das Beispiel zeigt typische Einstellungen für Apache Directory Server:
- connectionName: Definierter Name für die LDAP-Administratorverbindung.
- connectionPassword: Kennwort für die LDAP-Administratorverbindung.
- connectionURL: URL für LDAP-Verbindung
- roleBase: Element, das die Basis für die Suche nach passenden Rollen ist. Im Beispiel unten wird eine Struktur definiert, bei der "Gruppen" unter "System" in der Active Directory-Struktur definiert sind.
- roleName: Attributname der Rolle/Gruppe. Standard: cn
- roleSearch: Ein Ausdruck, der für die Suche nach Rollen-/Gruppenelementen im roleBase-Kontext verwendet wird. Bei der Suche werden die Rollen/Gruppen gefunden, die einen gegebenen Benutzernamen enthalten, wobei {0} Platzhalter für den Benutzernamen ist.
- userPattern: Das Muster des definierten Namens für Benutzer.
<Realm className="org.apache.catalina.realm.JNDIRealm" connectionName="uid=admin,ou=system" connectionPassword="password" connectionURL="ldap://myServer:10389" debug="99" roleBase="ou=groups,ou=system" roleName="cn" roleSearch="(uniquemember={0})" userPattern="cn={0},ou=users,ou=system"/>
- Fügen Sie das folgende <valve>-Element in den Abschnitt <host> ein:
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
- Speichern Sie die Datei.
- Ändern der Geoportal-Datei "gpt.xml"
- Aktivieren Sie Single Sign-On in der Datei "gpt.xml":
- Navigieren Sie zum Ordner <TOMCAT>\webapps\geoportal\WEB-INF\classes\gpt\config, und öffnen Sie die Datei gpt.xml in einem Texteditor.
- Suchen Sie das Element "<singleSignOn>".
- Legen Sie für das Attribut "active" "true" fest:
<singleSignOn active="true" ...
- Überprüfen Sie, ob im Abschnitt <Groups> in der Datei "gpt.xml" der für "searchDIT" definierte Name mit dem definierten Namen für "roleBase" übereinstimmt, der im von Ihnen zuvor konfigurierten Tomcat-Element server.xml-<realm> angegeben ist. Bei Apache Directory Server könnten beide Namen "ou=groups,ou=system" lauten.
- Speichern Sie die Datei.
- Aktivieren Sie Single Sign-On in der Datei "gpt.xml":
- Ändern der Datei "web.xml"
- Navigieren Sie zum Ordner <TOMCAT>\webapps\geoportal\WEB-INF, und öffnen Sie die Datei web.xml in einem Texteditor.
- Unkommentieren Sie das <security-constraint>-Element in web.xml:
<security-constraint> <web-resource-collection> <web-resource-name>login</web-resource-name> <description>login</description> <url-pattern>/catalog/identity/login.page</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <description>These are the roles who have access</description> <role-name>gpt_administrators</role-name> <role-name>gpt_publishers</role-name> <role-name>gpt_registeredUsers</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <realm-name>Restricted content</realm-name> <form-login-config> <form-login-page>/catalog/identity/loginJsc.page</form-login-page> <form-error-page>/catalog/identity/loginJsc.page?error=true</form-error-page> </form-login-config> </login-config>
- Unkommentieren Sie den Block <security-role> in web.xml wie folgt:
<security-role> <role-name>gpt_administrators</role-name> </security-role> <security-role> <role-name>gpt_publishers</role-name> </security-role> <security-role> <role-name>gpt_registeredUsers</role-name> </security-role>
- Speichern und schließen Sie die Datei.
- Starten Sie Tomcat neu.
Konfigurationsanweisungen für Weblogic-LDAP und Single Sign-On
Diese Single Sign-On-Konfiguration wurde bei Weblogic 10.3.1 getestet, und es wird davon ausgegangen, dass Sie Benutzer bereits über LDAP konfiguriert haben, und zwar entsprechend den Geoportal-Installationsanweisungen. In diesem Beispiel wird außerdem davon ausgegangen, dass Ihr LDAP mit Apache Directory Server konfiguriert ist. Die folgenden Anweisungen müssen für andere Directory Server-Anbieter möglicherweise angepasst werden. Wenn Sie LDAP eingerichtet haben, fahren Sie mit den folgenden Schritten fort, um Single Sign-On zu aktivieren: Sie müssen innerhalb der Weblogic-Verwaltungskonsole Änderungen am Sicherheitsbereich vornehmen. Ausführlichere Informationen zu Sicherheitsbereichen finden Sie auf der Weblogic -Website.
- Erstellen von Sicherheitsbereichen
- Melden Sie sich an der WebLogic-Server-Verwaltungskonsole an.
- Klicken Sie im Inhaltsverzeichnis zur Domänenstruktur auf "Sicherheitsbereiche".
- Wählen Sie aus der Tabelle "myrealm" aus.
- Klicken Sie auf die Registerkarte "Provider".
- Wählen Sie "Neu" aus.
- Geben Sie den Namen des Authentifizierungsanbieters ein. (In diesem Beispiel wird Geoportal als Name verwendet.
- Wählen Sie den Typ aus der Dropdown-Liste aus. Wählen Sie in diesem Beispiel für Apache Directory Server den LDAP-Authentifizierer aus. Wenn Sie einen anderen Directory Server-Anbieter verwenden, müssen Sie einen Typ auswählen, der diesem Anbieter entspricht.
- Klicken Sie auf "OK". Der neue Anbieter wird der Liste mit den authentifizierten Anbietern hinzugefügt.
- Wenn Sie diese Schritte ausgeführt haben, müssen Sie die neuen Anbieterinformationen so bearbeiten, dass sie Ihrer aktuellen LDAP-Konfiguration entsprechen. Klicken Sie auf den neuen Anbieter.
- Wählen Sie die Registerkarte des jeweiligen Anbieters aus.
- User Name Attribute: Das Attribut eines LDAP-Benutzerobjekts, mit dem der Name des Benutzers angegeben wird. Standardwert: uid.
- Principal: DN von LDAP-Benutzer. Wird von Weblogic verwendet, um eine Verbindung zu LDAP herzustellen.
- Propogate Cause for Login Exception: Stellen Sie sicher, dass diese Option aktiviert ist.
- Host: Der Hostname oder die IP-Adresse des LDAP-Servers.
- Use Retrieved User Name as Principal: Stellen Sie sicher, dass diese Option aktiviert ist.
- Credential: Verwendetes Kennwort, um eine Verbindung zum LDAP-Server herzustellen.
- Confirm Credential: Bestätigung des Kennworts.
- Group Base DN: Der für die Basis definierte Name (DN) der Struktur im LDAP-Verzeichnis, der Gruppen enthält. Hinweis: Notieren Sie sich diesen Namen für einen zukünftige Schritt.
- User Base DN: Der für die Basis definierte Name (DN) der Struktur im LDAP-Verzeichnis, der Benutzer enthält.
- Port: Die Portnummer, auf dem sich der LDAP-Server in Wartestellung befindet.
- Klicken Sie auf "Speichern".
- Ändern von DefaultAuthenticator in myrealm Weblogic verfügt über einen eigenen Sicherheitsanbieter, der Weblogic-Ressourcen schützt. Dieser Anbieter wird als DefaultAuthenticator bezeichnet. Sie müssen in die Control Flag-Einstellung von DefaultAuthenticator anpassen.
- Klicken Sie im Inhaltsverzeichnis zur Domänenstruktur auf "Sicherheitsbereiche".
- Wählen Sie "myrealm" aus.
- Klicken Sie auf die Registerkarte "Provider".
- Wählen Sie "DefaultAuthenticator" aus.
- Wählen Sie aus der Control Flag-Dropdown-Liste "Ausreichend" aus.
- Klicken Sie auf "Speichern".
- Ändern der Geoportal-Datei "gpt.xml"
- Aktivieren Sie Single Sign-On in der Datei "gpt.xml":
- Navigieren Sie zum Ordner <Geoportal Installation Dir>\geoportal\WEB-INF\classes\gpt\config, und öffnen Sie die Datei gpt.xml in einem Texteditor.
- Suchen Sie das Element "<singleSignOn>".
- Legen Sie für das Attribut "active" "true" fest:
<singleSignOn active="true" ...
- Überprüfen Sie, ob im Abschnitt <Groups> in der Datei "gpt.xml" der für "searchDIT" definierte Name mit dem "Group Base DN" übereinstimmt, den Sie sich zuvor beim Konfigurieren des Sicherheitsbereichs notiert haben. Bei Apache Directory Server könnten beide Namen "ou=groups,ou=system" lauten.
- Speichern Sie die Datei.
- Ändern der Datei "web.xml"
- Navigieren Sie zum Ordner <Geoportal Installation Dir>\geoportal\WEB-INF, und öffnen Sie die Datei web.xml in einem Texteditor.
- Unkommentieren Sie Block <security-constraint> und <securityrole> in web.xml:
<security-constraint> <web-resource-collection> <web-resource-name>login</web-resource-name> <description>login</description> <url-pattern>/catalog/identity/login.page</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <description>These are the roles who have access</description> <role-name>gpt_administrators</role-name> <role-name>gpt_publishers</role-name> <role-name>gpt_registeredUsers</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <realm-name>myRealm</realm-name> <form-login-config> <form-login-page>/catalog/identity/loginJsc.page</form-login-page> <form-error-page>/catalog/identity/loginJsc.page?error=true</form-error-page> </form-login-config> </login-config> <security-role> <role-name>gpt_administrators</role-name> </security-role> <security-role> <role-name>gpt_publishers</role-name> </security-role> <security-role> <role-name>gpt_registeredUsers</role-name> </security-role>
- Speichern und schließen Sie die Datei.
- Starten Sie WebLogic neu.