2011-06-29 14 views
6

Przepraszamy za tytuł, nie mogę znaleźć odpowiednich słów. Pozwól mi wyjaśnić, co chcę zrobić:Jak podłączyć Mediawiki do niestandardowej bazy danych użytkowników?

Mam stronę i Wiki (najnowsze Mediawiki). Wiki jest zamknięty, więc potrzebujesz konta do odczytu/zapisu na wiki. Ale kiedy użytkownik loguje się na mojej stronie, zostanie automatycznie zalogowany na wiki, kiedy tam dotrze.

Moje pierwsze spojrzenie na tabelę użytkowników mysql mediawiki uczyniło mnie bez pojęcia: wszystko jest zapisane jako dane binarne, , ale w mojej bazie danych użytkownika jest to zwykły tekst, z wyjątkiem oczywiście hasła.

Nie wiem, jak postępować?

+0

Możesz podzielić się swoim doświadczeniem w https://www.mediawiki.org/wiki/Requests_for_comment/AuthManager, aby takie zadanie było łatwiejsze w przyszłości. – Nemo

Odpowiedz

9

Zasadniczo chcemy mieć dwie rzeczy:

  • jednej bazy danych jednego konta na swojej stronie internetowej, która jest wykorzystywana z MediaWiki, too.
  • Automatyczne logowanie w MediaWiki, gdy użytkownik loguje się do swojej stronie

Centralny użytkownika bazy danych

Mediawiki ma kilka rozszerzeń za pomocą Connect zarządzanie użytkownika do innej bazy danych, na przykład:

Trzeba spojrzeć na ExtAuthDB, ponieważ powinien on być na tyle konfigurowalne dla ciebie.

Single Sign On

Single Sign On (SSO) jest najczęściej odbywa się poprzez dzielenie cookie między aplikacji internetowych. Aby to się stało, musisz mieć wiki w subdomenie swojej strony głównej, tj. wiki.example.org, gdy twoja strona internetowa ma numer example.org.

Na swojej stronie ustaw plik cookie na .example.org (zwróć uwagę na wiodącą kropkę w domenie cookie), więc jest również dostępny dla wiki.example.org.

Pliki cookie mogą być pełnowartościowymi plikami cookie mediawiki (które należy utworzyć na swojej stronie internetowej) lub plikiem cookie zawierającym odpowiednie informacje o użytkowniku, które własne rozszerzenie do wiki czyta i rejestruje użytkownika. Proponuję sprawdzić, jak zaimplementowano Phpbb_Single_Sign-On i zrobić to samo dla twojej witryny.

2

Możesz zadzwonić do MediaWiki API:Login w sprawie procedury logowania do witryny i API:Logout w sprawie procedury wylogowania, podać nazwę użytkownika i hasło używane w witrynie i wiki są takie same.