Russian documentation added (#2417)
This commit is contained in:
committed by
Frédéric Guillot
parent
be176fe36c
commit
3ea084fd31
327
doc/ru_RU/ldap-authentication.markdown
Normal file
327
doc/ru_RU/ldap-authentication.markdown
Normal file
@@ -0,0 +1,327 @@
|
||||
Аутентификация LDAP
|
||||
===================
|
||||
|
||||
|
||||
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||
-------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
- Включенное в PHP раширение LDAP
|
||||
|
||||
|
||||
|
||||
- Сервер LDAP:
|
||||
|
||||
|
||||
|
||||
- OpenLDAP
|
||||
|
||||
- Microsoft Active Directory
|
||||
|
||||
- Novell eDirectory
|
||||
|
||||
|
||||
|
||||
Рабочий процесс[¶](#workflow "Ссылка на этот заголовок")
|
||||
--------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
Когда активирована аутентификация LDAP, процесс входа выглядит следующим образом:
|
||||
|
||||
|
||||
|
||||
1. Выполняется попытка аутентификации пользователя в базе данных Канборда
|
||||
|
||||
2. Если пользователь не найден в базе Канборда, выполняется аутентификация LDAP
|
||||
|
||||
3. Если аутентификация LDAP выполнена успешно, по умолчанию, локальный пользователь (в Канборде) создается автоматически без пароля и помечается как пользователь LDAP.
|
||||
|
||||
|
||||
|
||||
Полное имя и email адрес автоматически подгружаются из сервера LDAP.
|
||||
|
||||
|
||||
|
||||
Типы аутентификации[¶](#authentication-types "Ссылка на этот заголовок")
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
| Тип | Описание |
|
||||
|--------------|-------------------------------------------------------------|
|
||||
| Proxy User | Использовать специального пользователя для просмотра директории LDAP |
|
||||
| User | Использовать учетные данные конечного пользователя для просмотра директории LDAP |
|
||||
| Anonymous | Не надо выполнять аутентификацию для доступа к каталогу LDAP |
|
||||
|
||||
|
||||
**Рекомендуемый метод аутентификации - “Proxy”**.
|
||||
|
||||
|
||||
|
||||
### Анонимный (Anonymous) метод[¶](#anonymous-mode "Ссылка на этот заголовок")
|
||||
|
||||
|
||||
|
||||
define('LDAP_BIND_TYPE', 'anonymous');
|
||||
|
||||
define('LDAP_USERNAME', null);
|
||||
|
||||
define('LDAP_PASSWORD', null);
|
||||
|
||||
|
||||
|
||||
Этот метод используется по умолчанию, но некоторые сервера LDAP не поддерживают доступ анонимам, из соображений безопасности.
|
||||
|
||||
|
||||
|
||||
### Proxy метод[¶](#proxy-mode "Ссылка на этот заголовок")
|
||||
|
||||
|
||||
|
||||
Специальный пользователь используется для доступа к директории LDAP:
|
||||
|
||||
|
||||
|
||||
define('LDAP_BIND_TYPE', 'proxy');
|
||||
|
||||
define('LDAP_USERNAME', 'my proxy user');
|
||||
|
||||
define('LDAP_PASSWORD', 'my proxy password');
|
||||
|
||||
|
||||
|
||||
### Пользовательский метод (user)[¶](#user-mode "Ссылка на этот заголовок")
|
||||
|
||||
|
||||
|
||||
Этот метод используется для доступа под учетной записью конечного пользователя.
|
||||
|
||||
|
||||
|
||||
Например, Microsoft Active Directory не разрешает подключение под анонимным пользователем и если вы не хотите использовать пользователя proxy, то используйте этот метод.
|
||||
|
||||
|
||||
|
||||
define('LDAP_BIND_TYPE', 'user');
|
||||
|
||||
define('LDAP_USERNAME', '%s@kanboard.local');
|
||||
|
||||
define('LDAP_PASSWORD', null);
|
||||
|
||||
|
||||
|
||||
В этом методе, константа `LDAP_USERNAME` использутся как шаблон для пользователя ldap, например:
|
||||
|
||||
|
||||
|
||||
- `%s@kanboard.local` будет заменен `my_user@kanboard.local`
|
||||
|
||||
|
||||
|
||||
- `KANBOARD\\%s` будет заменен на `KANBOARD\my_user`
|
||||
|
||||
|
||||
|
||||
Фильтр пользователей LDAP[¶](#user-ldap-filter "Ссылка на этот заголовок")
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
|
||||
Параметр конфигурации `LDAP_USER_FILTER` используется для поиска пользователей по директории LDAP.
|
||||
|
||||
|
||||
|
||||
Например:
|
||||
|
||||
|
||||
|
||||
- `(&(objectClass=user)(sAMAccountName=%s))` будет заменено на `(&(objectClass=user)(sAMAccountName=указанный_пользователь))`
|
||||
|
||||
|
||||
- `uid=%s` is replaced by `uid=указанный_пользователь`
|
||||
|
||||
|
||||
|
||||
Другие примеры [фильтров для Active Directory](http://social.technet.microsoft.com/wiki/contents/articles/5392.active-directory-ldap-syntax-filters.aspx)
|
||||
|
||||
|
||||
|
||||
Пример фильра доступа в Канборд:
|
||||
|
||||
|
||||
|
||||
`(&(objectClass=user)(sAMAccountName=%s)(memberOf=CN=Kanboard Users,CN=Users,DC=kanboard,DC=local))`
|
||||
|
||||
|
||||
|
||||
Этот пример разрешает подключатся к Канборду только пользователям участникам группы “Kanboard Users”
|
||||
|
||||
|
||||
|
||||
Пример для Microsoft Active Directory[¶](#example-for-microsoft-active-directory "Ссылка на этот заголовок")
|
||||
------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
Предположим, что мы имеем домен `KANBOARD` (kanboard.local) и контролер домена `myserver.kanboard.local`.
|
||||
|
||||
|
||||
|
||||
Первый пример для метода прокси (proxy):
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
// Enable LDAP authentication (false by default)
|
||||
|
||||
define('LDAP_AUTH', true);
|
||||
|
||||
|
||||
|
||||
define('LDAP_BIND_TYPE', 'proxy');
|
||||
|
||||
define('LDAP_USERNAME', 'administrator@kanboard.local');
|
||||
|
||||
define('LDAP_PASSWORD', 'my super secret password');
|
||||
|
||||
|
||||
|
||||
// LDAP server hostname
|
||||
|
||||
define('LDAP_SERVER', 'myserver.kanboard.local');
|
||||
|
||||
|
||||
|
||||
// LDAP properties
|
||||
|
||||
define('LDAP_USER_BASE_DN', 'CN=Users,DC=kanboard,DC=local');
|
||||
|
||||
define('LDAP_USER_FILTER', '(&(objectClass=user)(sAMAccountName=%s))');
|
||||
|
||||
|
||||
|
||||
Второй пример с пользовательским методом (user):
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
// Enable LDAP authentication (false by default)
|
||||
|
||||
define('LDAP_AUTH', true);
|
||||
|
||||
|
||||
|
||||
define('LDAP_BIND_TYPE', 'user');
|
||||
|
||||
define('LDAP_USERNAME', '%s@kanboard.local');
|
||||
|
||||
define('LDAP_PASSWORD', null);
|
||||
|
||||
|
||||
|
||||
// LDAP server hostname
|
||||
|
||||
define('LDAP_SERVER', 'myserver.kanboard.local');
|
||||
|
||||
|
||||
|
||||
// LDAP properties
|
||||
|
||||
define('LDAP_USER_BASE_DN', 'CN=Users,DC=kanboard,DC=local');
|
||||
|
||||
define('LDAP_USER_FILTER', '(&(objectClass=user)(sAMAccountName=%s))');
|
||||
|
||||
|
||||
|
||||
Пример для OpenLDAP[¶](#example-for-openldap "Ссылка на этот заголовок")
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
Наш сервер LDAP - `myserver.example.com` и все пользователи хранятся в `ou=People,dc=example,dc=com`.
|
||||
|
||||
|
||||
|
||||
Для этого примера мы использовали анонимное подключение.
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
// Enable LDAP authentication (false by default)
|
||||
|
||||
define('LDAP_AUTH', true);
|
||||
|
||||
|
||||
|
||||
// LDAP server hostname
|
||||
|
||||
define('LDAP_SERVER', 'myserver.example.com');
|
||||
|
||||
|
||||
|
||||
// LDAP properties
|
||||
|
||||
define('LDAP_USER_BASE_DN', 'ou=People,dc=example,dc=com');
|
||||
|
||||
define('LDAP_USER_FILTER', 'uid=%s');
|
||||
|
||||
|
||||
|
||||
Выключение автоматического создания учетных записей[¶](#disable-automatic-account-creation "Ссылка на этот заголовок")
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
По умолчанию, Канборд автоматически создает учетную запись пользователя, если такой пользователь не найден.
|
||||
|
||||
|
||||
|
||||
Вы можете выключить это поведение, если вы предпочитаете создавать учетные записи вручную.
|
||||
|
||||
|
||||
|
||||
Для этого установите значение `LDAP_ACCOUNT_CREATION` в `false`:
|
||||
|
||||
|
||||
|
||||
// Automatically create user account
|
||||
|
||||
define('LDAP_ACCOUNT_CREATION', false);
|
||||
|
||||
|
||||
|
||||
Устранение неисправностей[¶](#troubleshooting "Ссылка на этот заголовок")
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Если включен SELinux, вы должны разрешить Apache доступ к вашему серверу LDAP.
|
||||
|
||||
|
||||
|
||||
- Вы должны переключить SELinux в разрешающий режим (permissive mode) или совсем выключить (не рекомендуется)
|
||||
|
||||
- Вы должны разрешить все сетевые подключения, например `setsebool -P httpd_can_network_connect=1` или назначить более ограничивающие правила
|
||||
|
||||
|
||||
|
||||
В любом случае, ознакомтесь с официальной документацией Redhat/Centos.
|
||||
|
||||
|
||||
|
||||
Если вам не удается настроить аутентификацию LDAP, то вы можете [включить режим отладки](config.markdown) и посмотреть файлы событий.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||
|
||||
Reference in New Issue
Block a user