Где установлены сессии MediaWiki? - PullRequest
2 голосов
/ 10 декабря 2010

У меня есть собственная система входа в систему, и я хочу, чтобы MediaWiki разделял ту же сессию. Я пытаюсь, чтобы моя система входа в систему автоматически входила в мой MediaWiki, что означает, что мне, вероятно, придется также использовать одну и ту же базу данных пользователей.

Рекомендации

Ответы [ 3 ]

1 голос
/ 12 декабря 2010

Сеанс установлен в includes/GlobalFunctions.php.Если вы хотите подделать имя пользователя для входа в mediawiki после того, как пользователь войдет в вашу систему, вам необходимо убедиться, что параметры cookie совпадают (например, URL cookie должен быть одинаковым);взгляните на аргументы, которые они используют для построения его в вызове session_set_cookie_params.

. После того, как вы правильно настроили сеанс, вам нужно будет загрузить пользователя и внедрить его в сеанс.так что когда mediawiki проверяет, вошел ли пользователь в систему, он находит вашего введенного пользователя и идет вперед.Посмотрите на includes/User.php, звонок User::loadFromSession выглядит как многообещающее место, чтобы выяснить, что они ожидают там найти.

1 голос
/ 13 декабря 2010

Если вы внесете изменения непосредственно в источник MediaWiki, вам будет сложно перейти на будущие версии MediaWiki.Было бы намного лучше использовать существующую платформу плагина аутентификации:

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

Вы не указали, какая у вас система входа в систему, но если вам повезет, кто-то уже построилплагин для него:

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

1 голос
/ 10 декабря 2010

Не уверен, что это именно то, что вам нужно, но мы используем Аутентификация LDAP .

...