So setzen Sie Single Sign-On zwischen MediaWiki und der JSP-Website ein
-
12-12-2019 - |
Frage
Das ist es: Ich habe eine Website mithilfe von JSP und bereitgestellt auf Tomcat.Was ich jetzt tun möchte, ist, ein MediaWiki mit einem SSO-System einzurichten.Dh ich möchte, dass Benutzer mit demselben Konto auf meine erste Site und meinen MediaWiki zugreifen, und müssen sich nicht erneut anmelden, wenn Sie sich von einem zum anderen bewegen.
Derzeit teilen sich die beiden Systeme mit einem LDAP-System mit einem LDAP-System (Setup mit OpenLDAP) freigeben.Beim Anschluss an der JSP speichert es einen JSESSIONID-Parameter in einem Cookie, und bei der Verbindung mit MediaWiki scheint es 3 Parameter zu speichern: Wikidb_Session, WikidBuserID und WikidbusName.
Was ist der beste Weg, um die beiden Systeme den Session-Cookie zu teilen?
Alexis
Lösung
Sie können den Sitzungscookie nicht teilen, da jede Anwendungen (MediaWiki und Ihre JSP-Site) ihre eigenen haben.
Was Sie tun können, ist es, ein einzelnes Sign-On-Modul zu haben, das von jedem Ihrer Anwendungen verwendet wird.
Sie können sich JASIG CAS (Central Authentication Service) ansehen http://www.jase.org/cas.
- .
-
Installieren Sie die CAS-Serveranwendung, die die Authentifizierung bewältigt. Es ist eine Java-Webanwendung, die Sie auf derselben Servlet-Engine installieren können, die bereits Ihre JSP-Site ausführen kann. CAS-Server verfügt über mehrere Authentifizierungshandler wie LDAP.
-
Fügen Sie den CAS-Client Ihrer JSP-Site hinzu. CAS-Client ist als Servlet-Filter verfügbar, mit dem nicht authentifizierte Benutzer auf CAS-Server umgeleitet werden, wenn Benutzer authentifizieren, und CAS-Server wird Benutzer Benutzer mit einem speziellen Parameter (Service-Ticket) umleiten. Der CAS-Client-Filter verwendet den Parameter, um den CAS-Server in Verbindung zu setzen, um das Anmelden des Benutzers zu erhalten. Es könnte eine kleine Arbeit für Sie erfordern, da Sie den Authentifizierungsteil in der JSP-Site auf den CAS-Server verschieben müssen.
-
Fügen Sie Ihrem MediaWiki den CAS-Client hinzu. CAS-Client ist auch als PHP-Client (PHPCAs) verfügbar. MediaWiki scheint CAS bereit zu sein: http://www.mediawiki.org/wiki/extesions:casauthentication < / a>