Есть ли простой способ включить логин для всего сайта?

#php #mysql #single-sign-on #mediawiki-extensions

#php #mysql #единый вход #mediawiki-расширения

Вопрос:

У меня есть веб-сайт, на котором есть wiki и форум, на которые вы можете войти. Я хотел бы иметь возможность использовать единую пользовательскую систему для всего сайта, поэтому мне не нужно иметь отдельных пользователей для обоих. Если это поможет, я использую MediaWiki 1.16.4 для моей вики, phpBB 3.0.8 для форума, PHP версии 5.3.5 и MySQL версии 5.1.54.

Комментарии:

1. Если этого еще нет, вам нужно будет создать пользовательский код, соединяющий два продукта. Вы должны быть в состоянии сделать большую часть этого с помощью пользовательского скрипта входа / регистрации.

2. Вы имеете в виду единый вход (SSO)? Есть несколько вариантов на выбор: Федеративный (Shibboleth, OpenID — который вы использовали для входа здесь), CAS, Active Directory / LDAP…

3. Я думаю, что для обоих из них уже где-то есть некоторые возможности использовать OpenID. Может быть полезно.

4. Существует множество вариантов. mediawiki.org/wiki /…

Ответ №1:

Возможно, вы захотите рассмотреть возможность развертывания или интеграции с отдельной «службой единого входа», которая предоставляла бы какой-то неизменяемый токен, который могли бы использовать как вики, так и форум. (Эту идею иногда называют «федеративной» идентификацией — различные службы конечного пользователя могут использовать общую платформу аутентификации и, таким образом, обеспечивать беспрепятственный пользовательский интерфейс или почти.)

Обновление: Теперь я вижу, что ваш вопрос на самом деле немного более тонкий и касается простого способа совместного использования пользователя в нескольких уже существующих приложениях. Насколько я знаю, это было бы нетривиально. Я мог бы рассмотреть варианты решений, которые уже предлагают множество функций, которые вам нужны, в одном пакете, или, конечно, написать свои собственные. Я мог бы также упомянуть, что на самом деле не так уж много требовать, чтобы пользователи запоминали разные пароли для разных приложений, по крайней мере, в определенных ситуациях. Я мог бы спросить, что происходит с этим требованием, и теперь задаюсь вопросом, не понял ли я неправильно, поскольку действительно кажется странным просить связать воедино пользовательские базы данных множества разных приложений, которые могут иметь сильно отличающиеся схемы аутентификации.

(Я думаю, что я хочу сказать, что, насколько я знаю, было бы непросто настроить схему федеративной идентификации для множества приложений, которые ее еще не поддерживают. Если эти приложения предоставляют расширяемость, вы можете найти или быть в состоянии написать подключаемый модуль, который взаимодействует с поставщиком аутентификации.)

Комментарии:

1. Ну, у меня просто есть веб-сайт с 1 вики и 1 форумом, которые я могу добавить, а могу и не добавлять позже. Я хочу, чтобы у пользователей было одно имя пользователя / пароль для всего сайта, и чтобы это работало автоматически (если пользователь регистрируется на форуме, он автоматически регистрируется для wiki, и наоборот).

2. Что ж, есть несколько возможностей. Либо вики и федерация поддержки форумов готовы, либо вам придется найти плагины, либо вам придется написать мост самостоятельно. Ни один из этих способов, за исключением, возможно, первого, не будет тривиальным. (В основном вы захотите взвесить, насколько сильно вы хотите общую аутентификацию, и стоимость ее внедрения.)

Ответ №2:

Насколько я помню, аутентификация phpBB абстрактна, и вы можете написать свой собственный уровень.

Перейдите из http://wiki.phpbb.com/Authentication_plugins для получения дополнительной информации.

Ответ №3:

Хм, файлы cookie? (устанавливается в том же домене, конечно)

Комментарии:

1. Хорошо, я новичок в веб-программировании в целом, но я не думаю, что cookies будут работать… Мне нужно настроить так, чтобы любой пользователь, созданный в wiki, автоматически добавлялся на форум и наоборот, а также иметь возможность входить на оба сайта одновременно.

2. @cheeseisedible: А почему бы и нет? Представьте это: учетная запись пользователя создана, и файл cookie отправлен обратно пользователю. Содержит одноразовый номер сервера / секретный ключ вместе с именем пользователя и паролем, все зашифровано. Пользователь переходит на форум, и cookie отправляется вместе с запросом входа в систему. Сервер расшифровывает его с помощью своего секретного ключа и находит зашифрованные имя пользователя и пароль. Сделайте это через SSL, и все будет в порядке!

Ответ №4:

Включение некоторых файлов phpBB позволяет вам иметь единый вход и использовать его аутентификацию на других страницах сайта, за пределами форума. Я сделал это в http://www.shertonenglish.com /. Но это непростая работа, и я не знаю, насколько простым может быть изменение вики-скрипта.

Вот руководство по интеграции с phpBB: http://www.startrekguide.com/community/viewtopic.php?f=50amp;t=4576amp;start=0amp;st=0amp;sk=tamp;sd=aamp;hilit=integrate