Хотите разрешить Joomla Super Admin входить в другие зарегистрированные учетные записи - как это сделать? - PullRequest
3 голосов
/ 25 августа 2009

Мы создали сильно настроенный сайт на основе Joomla 1.5 и хотим, чтобы наш супер-администратор мог входить в учетные записи зарегистрированных пользователей, чтобы мы могли обеспечить лучшую поддержку по телефону и помочь им настроить их учетные записи удаленно.

Это, очевидно, потребует некоторого кодирования. В идеале нам нужна ссылка со стороны администратора, которая приведет нас к клиентской части и автоматически зарегистрирует нас как зарегистрированного пользователя. Мы заблокируем его по IP-адресу, а также будем иметь какой-то пароль.

Где обрабатывается логин? Похоже, что /components/com_user/controller.php вызывает функцию с именем $ mainframe -> login (); Где находится эта функция?

Мы думаем отправить нам поддельную форму для входа в систему вместе с дополнительным полем для пароля суперпользователя. Затем мы изменим код входа в систему, чтобы авторизовать его, если пароль указан и IP-адрес правильный.

Какие-нибудь слова мудрости или предостережения при таком подходе?

Ответы [ 2 ]

2 голосов
/ 25 августа 2009

На самом деле есть плагин, который сделает именно это: http://extensions.joomla.org/extensions/access-a-security/authentication/4806

0 голосов
/ 25 августа 2009

Вы захотите создать плагин аутентификации, чтобы справиться с этим. Вы можете включить столько аутентификационных плагинов, сколько захотите (основной плагин, OpenID, ваш собственный плагин и т. Д.). Joomla будет запускать список включенных плагинов, пока один из них не установит для переменной status объекта $response значение JAUTHENTICATE_STATUS_SUCCESS. Объект $response передается методу onAuthenticate вашего плагина. Посмотрите на plugins/authentication/example.php для наглядного примера. Вы, вероятно, в конечном итоге будете клонировать plugins/authentication/joomla.php и использовать его для своих нужд.

Я бы опубликовал ваш пользовательский плагин после основного плагина аутентификации Joomla, чтобы обычные пользователи могли быстрее войти в систему.

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

...