Russian documentation added (#2417)

This commit is contained in:
Hairetdin
2016-07-23 02:12:09 +05:00
committed by Frédéric Guillot
parent be176fe36c
commit 3ea084fd31
93 changed files with 9880 additions and 0 deletions

View 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/)