Логин LDAP содержащий '\'

Moderator: DenisBY

Locked
vitalijs
Znuny newbie
Posts: 6
Joined: 22 Nov 2011, 07:04
Znuny Version: 3.0.11
Real Name: Савиных Виталий
Company: Elesy

Логин LDAP содержащий '\'

Post by vitalijs »

Господа! Может быть кто то сможет мне помочь?! с настройкой бэкенда для AD (LDAP)
В компании исторически Домен делится на поддомены (DOMAIN.COM-> SUBDOMAIN1.DOMAIN.COM, SUBDOMAIN2.DOMAIN.COM)
Стандартная авторизация в Win приложениях сводится к указанию пользователя и поддомена (Пр. SUBDOMAIN1\mylogin SUBDOMAIN2\mylogin)
Однако в самом AD в данных пользователя хранится только имя пользователя (sAMAccountName) являющееся логином. Если использовать стандартные настройки Бэкенда для OTRS, то в качестве логина выступает как раз sAMAccountName. Такой вариант не удовлетворяет потребностей так как sAMAccountName уникален только в рамках поддомена.
Для решения проблемы в LDAP было добавлено поле uid для всех пользователей в которе был помещен идентификатор вида SubDomainName\sAMAccountName(пользователи уже привыкли к авторизации такого рода). Пользователь в системе авторизуется, а вот синхронизировать Бэкенд не получается!

При авторизации получаем собщение

Code: Select all

"Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator."
Лог говорит

Code: Select all

 [Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: subdomain\test (CN=Test T Test ,OU=TT,OU=CC,DC=domain,DC=com) authentication ok (REMOTE_ADDR: 127.0.0.1).
 [Error][Kernel::System::CustomerUser::SetPreferences][493] No such user 'subdomain\test'!
 

Ну и на сладкое Конфиг

Code: Select all

   
    $Self->{CustomerUser} = {
        Name => 'LDAP Source',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {            
            Host => 'ad.domain.com',            
            BaseDN => 'DC=domain, DC=com',            
            SSCOPE => 'sub',            
            UserDN => 'CN=Ldap,CN=Users,DC=domain,DC=com',
            UserPw => '***',                        
			AlwaysFilter => '(objectclass=user)',            
			SourceCharset => 'utf-8',
			DestCharset   => 'utf-8',	
            Params => {																
                port => 389,
				timeout => 120,
				async => 0,
                version => 3,
            },
        },         
        CustomerKey => 'uid',        
        CustomerID => 'userPrincipalName',
        CustomerUserListFields => ['uid', 'cn', 'userPrincipalName'],
        CustomerUserSearchFields => ['uid', 'cn', 'userPrincipalName'],        
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],        
        Map => [            
            [ 'UserFirstname' , 'Firstname' , 'givenname', 1, 1, 'var' ], 
            [ 'UserLastname'  , 'Lastname'  , 'sn'       , 1, 1, 'var' ],
            [ 'UserLogin'     , 'Login'     , 'uid'      , 1, 1, 'var' ],
            [ 'UserEmail'     , 'Email'     , 'mail'     , 1, 1, 'var' ],
            [ 'UserCustomerID', 'CustomerID', 'uid'      , 0, 1, 'var' ],            
        ],
    };
 
Last edited by vitalijs on 30 Nov 2011, 12:25, edited 1 time in total.
vitalijs
Znuny newbie
Posts: 6
Joined: 22 Nov 2011, 07:04
Znuny Version: 3.0.11
Real Name: Савиных Виталий
Company: Elesy

Re: И снова LDAP

Post by vitalijs »

Похоже нашел причину!
Заменил в логине разделитель слэш ('\') на '@' и все заработало!!! (т.е. логин типа SubdomainName\Login не канает, а SubdomainName@Login канает)
Кто знает как заставить систему кушать '\' и не ругаться?!
DenisBY
Moderator
Posts: 54
Joined: 19 Aug 2010, 08:33
Znuny Version: 3.0 CVS
Location: Minsk, Belarus

Re: И снова LDAP

Post by DenisBY »

попробуйте поставить \\
OTRS 3.0 SVN, CentOS, MySQL, Lotus LDAP for Agents and Customers. Production (Yes, I'm crazy).
vitalijs
Znuny newbie
Posts: 6
Joined: 22 Nov 2011, 07:04
Znuny Version: 3.0.11
Real Name: Савиных Виталий
Company: Elesy

Re: И снова LDAP

Post by vitalijs »

DenisBY wrote:попробуйте поставить \\
Непосредственно в логин?
При вводе логина пробовал - безполезно.
Locked