- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Дополнение позволяет дополнительно к основной аутентификации для админки сайта подключить еще базовую авторизацию и легко администрировать ее пользователей.
За работу механизма так называемой базовой авторизации на стороне сервера отвечает не какое-то специфическое ПО, а сам сервер Apache или Nginx*
Базовой авторизации позволяет выявить попытки подбора пароля (в логе сервера будет соответствующая информация ) и автоматически** блокировать IP злоумышленника.
Для базовой аутентификации самым главным недостатком является передача пароля в открытом виде, данный недостаток можно решить применив протокол SSL.
Настройка и администрирование пользователей
После того как вы установили дополнение на странице редактирования информации конкретного пользователя появиться дополнительный раздел “BasicAuth пароль” где можно выбрать способ создания пароля, а также метод его получения.
ВАЖНО! После того как вы первый раз создадите пароль для какого либо пользователя на сервере будет непосредственно активирована “Базовая аутентификация”, а это значит что все пользователи которые сейчас авторизированы в админке или будут пытаться это сделать буду получать запрос на введения логина и пароль для базовой аутентификации, поэтому прежде всего вы должны создать пароль для своей учетной записи чтобы иметь возможность продолжить создать пароли для всех тех пользователей которые должны иметь доступ в админку сайта.
Сбросить активацию базовой аутентификации можно просто удалив файл
/manager/.htaccess
Файл с пароля .htpasswd для базовой аутентификации по умолчанию храниться в /manager изменить это можно в настройках модуля на стр. /manager/?a=system/settings, а также указать новый путь к файлу в /manager/.htaccess если это было сделано после активации базовой аутентификации* Nginx должен иметь модуль ngx_http_auth_basic_module, а так же в конфик Nginx нужно добавить
location /manager/ {
auth_basic "Private zone. Only for administrator!";
auth_basic_user_file /полный путь к файлу/manager/.htpasswd;
}
Если необходимо, чтобы файл с паролями находился в каталоге, доступном посетителям, скрыть его от всех можно следующим кодом:
server {
listen 80;
server_name example.com;
location / {
...
}
location ~ /\.ht {
deny all;
}
}
Этот код скроет от посетителя все файлы, начинающиеся с ".ht", так же, как в конфигурации Apache по умолчанию.
** На сервере должны быть настроены соответствующие скрипты или утилиты например Fail2ban
Консольное создание/обновление паролей
Для массового создание/обновление паролей можно использовать функцию setPasswords
/**
* @param string $groups Название групп через запятую. По умолчанию: Administrator
* @param string $userIds Id юзеров через запятую которые в зависимости от значения $exclude будут добавлены или удалены из тех юзеров группю. По умолчанию: пусто
* @param bool $exclude Добавлять или исключать из юзеров групп юзеров из $userIds. По умолчанию: false
* @param bool $notify Отправить данные о пароле на емайл юзера. По умолчанию: false
* @return array Логин и пароль юзеров
*/
setPasswords($groups = 'Administrator', $userIds = '', $exclude = false, $notify = false)
Вызов из консоли:
<?php
$mba = $modx->getService('modbasicauth', 'Mba');
$passwords = $mba->setPasswords('Administrator,manager');
print_r($passwords);
modBasicAuth 1.0.1
- Исправлено: Создать нового пользователя
Последние обсуждения в сообществе MODX.pro