Интеграция логина в PHP - PullRequest
       19

Интеграция логина в PHP

3 голосов
/ 02 сентября 2008

На моем хосте в настоящее время я установил 2 приложения WordPress, 1 форум phpBB и один MediaWiki.

Есть ли способ объединить логин, чтобы все приложения имели одинаковые учетные данные?

Например, я хочу зарегистрироваться только в своем phpBB, а затем хочу получить доступ ко всем другим приложениям с указанным именем пользователя и паролем.

Даже если вы не знаете единого пути, о какой другой интеграции входа в систему вы знаете? Плюсы и минусы каждого?

Ответы [ 8 ]

4 голосов
/ 04 сентября 2008

при интеграции системы. Просто запомни 2 вещи:

  1. Вход в систему
    Проверьте имя пользователя / пароль в обеих системах.

  2. Смена пароля
    Обновите пароль в обеих системах.

3 голосов
/ 02 сентября 2008

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

В файле mediawiki "LocalSettings.PHP" вы можете указать ему использовать другую (wordpress) базу данных для аутентификации:

например.

require_once('includes/AuthPlugin.php');
require_once('extensions/AuthPress.php');

$wgAuth = new AuthPress();
$wgAuth->setAuthPressTablePrefix('evo_');
# Only include the following if you aren't using the same db as  MediaWiki
$wgAuth->setAuthPressDBServer ('localhost');
$wgAuth->setAuthPressDBName('yourWordPressDB');
$wgAuth->setAuthPressUser('mySQL user for same');
$wgAuth->setAuthPressPassword('The password');

См. http://bbpress.org/forums/topic/mediawiki-bbpress-and-wordpress-integration

2 голосов
/ 07 ноября 2008

Одним из вариантов является OpenID, который можно интегрировать в phpBB , WordPress и MediaWiki .

Второй вариант - настроить сервер LDAP, который вы также можете интегрировать в phpBB , WordPress и MediaWiki .

Если все сайты находятся в одном корневом домене, третий вариант - изменить код регистрации, входа в систему и выхода из системы, чтобы эти действия реплицировались на каждом сайте одновременно. Это становится грязным, но это может быть самым простым краткосрочным решением, если вы спешите. После того как вы отследите код учетной записи на каждом сайте, достаточно просто скопировать, вставить и изменить несколько параметров cookie.

1 голос
/ 02 сентября 2008

Если вы интегрируете несколько разных приложений и вам действительно нужен мост, у меня был хороший успех с мостом из Single-Signon.com . Здесь вы можете увидеть поддерживаемые приложения: http://www.single -signon.com / о / applications.html

Я также использовал расширение MediaWiki для интеграции с phpBB: http://www.mediawiki.org/wiki/Extension:PHPBB/Users_Integration

1 голос
/ 02 сентября 2008

Однажды я выполнил интеграцию входа в phpBB / MediaWiki со стороны phpBB.

Проверить .

0 голосов
/ 07 ноября 2008

Вы можете написать собственный хук входа в систему для mediaWiki. Я сделал это для LibraryThing, чтобы учетные данные для входа с нашего основного сайта переносились в нашу установку mediaWiki. Хук аутентификации расширяет AuthPlugin MediaWiki.

Есть несколько небольших проблем:

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

Но если вы можете справиться с ними, то, безусловно, можно использовать ваши собственные данные пользователя / пароля с mediaWiki.

Преимущества:

  1. Пользователь не должен входить в каждую область отдельно. После входа на основной сайт они также входят в вики.
  2. Вы знаете, что имена пользователей одинаковы во всех системах и могут использовать их в ссылках и т. Д.
0 голосов
/ 02 сентября 2008

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

0 голосов
/ 02 сентября 2008

Пытаясь сделать это несколько лет назад, я помню, что это было не очень легко.

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

У этого подхода есть несколько довольно больших недостатков . Главным из них является то, что теперь вам придется вручную обновлять патчи

Если у вас нет контента или пользователи еще смотрят на http://bbpress.org/documentation/integration-with-wordpress/, что значительно упростит вам задачу.

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


Конечно, совершенно другой подход заключается в том, чтобы модифицировать каждую часть программного обеспечения для использования OpenID. Я считаю, что плагины / расширения легко доступны для всех приложений, которые вы упомянули.

...