Page 1 of 2

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

Posted: 07 Oct 2010, 09:31
by AndreyDPro84
Добрый день, не удаётся настроить авторизацию в AD. Перерыл много инфы в инете, есть примеры, но ни один не подходит. Конфиги не выложил, так как менял всё несколько раз.

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

Posted: 07 Oct 2010, 10:40
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'

 
Дальнейшие подсказки только с результатами лога

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

Posted: 07 Oct 2010, 11:49
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'

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

Posted: 02 Mar 2012, 05:46
by AndreyDPro84
Воспользовался данной схемой и всё работало пока не разделил OU на 2 части, можно ли использовать авторизацию без OU?

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

Posted: 02 Mar 2012, 06:13
by Kirill
В новых версиях планируется авторизация через несколько ldap-справочников.
На этой версии, теоретически, можно не использовать root_dn

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

Posted: 02 Mar 2012, 06:57
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, а там я уже создал пользователя от имени которого будет идти авторизация.

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

Posted: 02 Mar 2012, 07:15
by Kirill
А что если не указывать OU, оставить только DC?

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

Posted: 02 Mar 2012, 07:34
by AndreyDPro84
Вот что пишет "Возможно, ваша учетная запись заблокирована, или введенное регистрационное имя/пароль неправильны."

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

Posted: 02 Mar 2012, 07:52
by Kirill
Попробуйте указать полное имя пользователя в том числе и домен: ivan_pupkin@domain.local

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

Posted: 02 Mar 2012, 07:53
by AndreyDPro84
Такая же ошибка. "Возможно, ваша учетная запись заблокирована, или введенное регистрационное имя/пароль неправильны."

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

Posted: 02 Mar 2012, 08:04
by Kirill
Тогда нужны логи с детализацией ошибок.

Code: Select all

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

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

Posted: 02 Mar 2012, 08:38
by AndreyDPro84
что-то в лог ничего не пишется

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

Posted: 02 Mar 2012, 09:02
by Kirill
какая версия MantisBT?

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

Posted: 02 Mar 2012, 09:05
by AndreyDPro84
1.2.3

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

Posted: 02 Mar 2012, 09:57
by Kirill
Странно, релиз от 14.09.2010. Логирование ldap-команд в сентябре 2009 года.
Попробуйте так

Code: Select all

$g_log_level = LOG_LDAP | LOG_DATABASE;