2010-12-10 10 views
2

Ich habe mein eigenes Login-System, und ich möchte, dass MediaWiki die gleiche Sitzung teilt. Ich versuche, dass sich mein Login-System automatisch auch in meinem MediaWiki anmeldet, was bedeutet, dass ich wahrscheinlich die gleiche Benutzerdatenbank teilen müsste.Wo sind die MediaWiki-Sitzungen eingestellt?

Beratung?

+0

http://www.mediawiki.org/wiki/OAuth oauth vielleicht? –

Antwort

1

Nicht sicher, ob dies genau das ist, was Sie wollen, aber wir verwenden LDAP Authentication.

+0

Ich bin mir nicht sicher, ob ich das wirklich brauche. Ich weiß nicht einmal, was LDAP ist. – Strawberry

1

Die Sitzung wird in includes/GlobalFunctions.php festgelegt. Wenn Sie eine Benutzeranmeldung in mediawiki fälschen möchten, nachdem sich der Benutzer bei Ihrem System angemeldet hat, müssen Sie sicherstellen, dass die Cookie-Parameter übereinstimmen (z. B. muss die Cookie-URL dieselbe sein); Werfen Sie einen Blick auf die Argumente, die sie verwenden, um sie in dem Aufruf an session_set_cookie_params zu erstellen.

Sobald Sie die Sitzung richtig eingerichtet haben, müssen Sie einen Benutzer laden und es in die Sitzung injizieren, so dass wenn mediawiki geht, um zu überprüfen, ob der Benutzer angemeldet ist, findet es Ihren injizierten Benutzer und geht geradeaus. Schauen Sie in includes/User.php, die User::loadFromSession Anruf sieht aus wie ein vielversprechender Ort, um herauszufinden, was sie dort zu finden erwarten.

+0

Das klingt vielversprechend, ich werde das ausprobieren. – Strawberry

1

Wenn Sie Änderungen direkt an der MediaWiki-Quelle vornehmen, wird es schwer, auf zukünftige Versionen von MediaWiki zu aktualisieren. Es wäre viel besser, den bestehenden Authentifizierungs-Plugin-Framework zu verwenden:

http://www.mediawiki.org/wiki/AuthPlugin

Sie nicht angeben, was Ihr bestehendes Login-System ist, aber wenn man Glück hat jemand ist gebaut hat bereits ein Plugin für sie:

http://www.mediawiki.org/wiki/Category:User_identity_extensions