Авторизация в Active Directory

MantisBT forum for users who prefer to ask and answer questions in Russian.

Moderators: Developer, Contributor

AndreyDPro84
Posts: 13
Joined: 07 Oct 2010, 07:41

Авторизация в Active Directory

Post by AndreyDPro84 »

Добрый день, не удаётся настроить авторизацию в AD. Перерыл много инфы в инете, есть примеры, но ни один не подходит. Конфиги не выложил, так как менял всё несколько раз.
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Авторизация в Active Directory

Post by Kirill »

Попробуй следующие настройки в config_inc.php

Code: Select all

$g_login_method = LDAP;
$g_ldap_server = 'ldap://ip-ADserver'; // or $g_ldap_server = 'ldap://ip-ADserver:389';
$g_ldap_root_dn = 'OU=your_organization_RDN,DC=your_organization_RDN,DC=your_organization_RDN'; // корень DN где искать пользователей, например, ‘ou=people,dc=example,dc=com’
$g_ldap_bind_dn = ‘full_DN_entry_for_generic_user’; // системный аккаунт у которого есть доступ к LDAP справочнику в AD, например, 'username@yourdomain.com' или ‘cn=Robert Smith,ou=people,dc=example,dc=com’
$g_ldap_bind_passwd = '**'; // пароль от аккаунта выше
$g_ldap_protocol_version = 3;
$g_ldap_uid_field= 'sAMAccountName';

//If you want to use user e-mail address defined in Active Directory instead of the one defined when creating mantis account you must add the following parameter:
$g_use_ldap_email = ON;

// Проверка LDAP-аутентификации ( для отключения ведения лога необходимо удалить или закомментировать эти две строчки )
$g_log_level = LOG_LDAP;
$g_log_destination = 'file:/tmp/mantisbt.log'; // путь к файлу лога для windows 'file:c:/temp/mantisbt.log'

 
Дальнейшие подсказки только с результатами лога
AndreyDPro84
Posts: 13
Joined: 07 Oct 2010, 07:41

Re: Авторизация в Active Directory

Post by AndreyDPro84 »

Входит

Code: Select all

$g_user_login_valid_regex = '/^([a-z\d\-.+_ ]+(@[a-z\d\-.]+\.[a-z]{2,4})?)$/i';

$g_login_method = LDAP;
$g_ldap_server = 'ldap://1.1.1.1:389'; // or $g_ldap_server = 'ldap://ip-ADserver:389';
$g_ldap_root_dn = 'OU=OTDEL,DC=domain,DC=local'; // корень DN где искать пользователей, например, ‘ou=people,dc=example,dc=com’
$g_ldap_bind_dn = 'administratordomena@domain.local'; // системный аккаунт у которого есть доступ к LDAP справочнику в AD, например, 'username@yourdomain.com' или ‘cn=Robert Smith,ou=people,dc=example,dc=com’
$g_ldap_bind_passwd = 'Mypass'; // пароль от аккаунта выше
$g_ldap_protocol_version = 3;
$g_ldap_uid_field= 'sAMAccountName';

//If you want to use user e-mail address defined in Active Directory instead of the one defined when creating mantis account you must add the following parameter:
$g_use_ldap_email = ON;

// Проверка LDAP-аутентификации ( для отключения ведения лога необходимо удалить или закомментировать эти две строчки )
//$g_log_level = LOG_LDAP;
//$g_log_destination = 'file:/tmp/mantisbt.log'; // путь к файлу лога для windows 'file:c:/temp/mantisbt.log'
AndreyDPro84
Posts: 13
Joined: 07 Oct 2010, 07:41

Re: Авторизация в Active Directory

Post by AndreyDPro84 »

Воспользовался данной схемой и всё работало пока не разделил OU на 2 части, можно ли использовать авторизацию без OU?
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Авторизация в Active Directory

Post by Kirill »

В новых версиях планируется авторизация через несколько ldap-справочников.
На этой версии, теоретически, можно не использовать root_dn
AndreyDPro84
Posts: 13
Joined: 07 Oct 2010, 07:41

Re: Авторизация в Active Directory

Post by AndreyDPro84 »

Code: Select all

$g_user_login_valid_regex = '/^([a-z\d\-.+_ ]+(@[a-z\d\-.]+\.[a-z]{2,4})?)$/i';

$g_login_method = LDAP;
$g_ldap_server = 'ldap://domain.local'; // or $g_ldap_server = 'ldap://ip-ADserver:389';
//$g_ldap_root_dn = 'OU=admin,DC=domain,DC=local'; // корень DN где искать пользователей, например, ‘ou=people,dc=example,dc=com’
$g_ldap_bind_dn = 'admin@domain.local'; // системный аккаунт у которого есть доступ к LDAP справочнику в AD, например, 'username@yourdomain.com' или ‘cn=Robert Smith,ou=people,dc=example,dc=com’
$g_ldap_bind_passwd = 'password'; // пароль от аккаунта выше
$g_ldap_protocol_version = 3;
$g_ldap_uid_field= 'sAMAccountName';

//If you want to use user e-mail address defined in Active Directory instead of the one defined when creating mantis account you must add the following parameter:
$g_use_ldap_email = ON;

///////////////////////////////////

// Проверка LDAP-аутентификации ( для отключения ведения лога необходимо удалить или закомментировать эти две строчки )
//$g_log_level = LOG_LDAP;
//$g_log_destination = 'file:/tmp/mantisbt.log'; // путь к файлу лога для windows 'file:c:/temp/mantisbt.log'
при таком коде выдаёт "Возможно, ваша учетная запись заблокирована, или введенное регистрационное имя/пароль неправильны."

Code: Select all

$g_user_login_valid_regex = '/^([a-z\d\-.+_ ]+(@[a-z\d\-.]+\.[a-z]{2,4})?)$/i';

$g_login_method = LDAP;
$g_ldap_server = 'ldap://domain.local'; // or $g_ldap_server = 'ldap://ip-ADserver:389';
$g_ldap_root_dn = 'OU=admin,DC=domain,DC=local'; // корень DN где искать пользователей, например, ‘ou=people,dc=example,dc=com’
$g_ldap_bind_dn = 'admin@domain.local'; // системный аккаунт у которого есть доступ к LDAP справочнику в AD, например, 'username@yourdomain.com' или ‘cn=Robert Smith,ou=people,dc=example,dc=com’
$g_ldap_bind_passwd = 'password'; // пароль от аккаунта выше
$g_ldap_protocol_version = 3;
$g_ldap_uid_field= 'sAMAccountName';

//If you want to use user e-mail address defined in Active Directory instead of the one defined when creating mantis account you must add the following parameter:
$g_use_ldap_email = ON;

///////////////////////////////////

// Проверка LDAP-аутентификации ( для отключения ведения лога необходимо удалить или закомментировать эти две строчки )
//$g_log_level = LOG_LDAP;
//$g_log_destination = 'file:/tmp/mantisbt.log'; // путь к файлу лога для windows 'file:c:/temp/mantisbt.log'
при таком, пускает пользователя из OU=admin

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


По сути проблемы нет. Но я не могу переместить всех пользователей и все отделы в другой отдел. Так что скорее всего нужно заставить мантис увидеть русское название OU, а там я уже создал пользователя от имени которого будет идти авторизация.
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Авторизация в Active Directory

Post by Kirill »

А что если не указывать OU, оставить только DC?
AndreyDPro84
Posts: 13
Joined: 07 Oct 2010, 07:41

Re: Авторизация в Active Directory

Post by AndreyDPro84 »

Вот что пишет "Возможно, ваша учетная запись заблокирована, или введенное регистрационное имя/пароль неправильны."
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Авторизация в Active Directory

Post by Kirill »

Попробуйте указать полное имя пользователя в том числе и домен: ivan_pupkin@domain.local
AndreyDPro84
Posts: 13
Joined: 07 Oct 2010, 07:41

Re: Авторизация в Active Directory

Post by AndreyDPro84 »

Такая же ошибка. "Возможно, ваша учетная запись заблокирована, или введенное регистрационное имя/пароль неправильны."
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Авторизация в Active Directory

Post by Kirill »

Тогда нужны логи с детализацией ошибок.

Code: Select all

// Проверка LDAP-аутентификации ( для отключения ведения лога необходимо удалить или закомментировать эти две строчки )
$g_log_level = LOG_LDAP;
$g_log_destination = 'file:/tmp/mantisbt.log'; // путь к файлу лога для windows 'file:c:/temp/mantisbt.log'  
AndreyDPro84
Posts: 13
Joined: 07 Oct 2010, 07:41

Re: Авторизация в Active Directory

Post by AndreyDPro84 »

что-то в лог ничего не пишется
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Авторизация в Active Directory

Post by Kirill »

какая версия MantisBT?
AndreyDPro84
Posts: 13
Joined: 07 Oct 2010, 07:41

Re: Авторизация в Active Directory

Post by AndreyDPro84 »

1.2.3
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Авторизация в Active Directory

Post by Kirill »

Странно, релиз от 14.09.2010. Логирование ldap-команд в сентябре 2009 года.
Попробуйте так

Code: Select all

$g_log_level = LOG_LDAP | LOG_DATABASE;
 
Post Reply