Отображение информации о клиенте из AD

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Отображение информации о клиенте из AD

Сообщение firebolt » 15 окт 2012, 12:26

Каким образом отобразить в системе информацию о телефоне пользователя, имеющуюся в Active Directory?

Нужно, чтобы она же отображалась при просмотре заявки агентом, чтобы видно было при создании телефонной заявки, в общем, чтобы агент видел ее везде при работе c заявкой.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Отображение информации о клиенте из AD

Сообщение ykolesnikov » 15 окт 2012, 12:35

Смотрите здесь - http://doc.otrs.org/3.0/ru/html/custome ... ckend.html
Внимательно на секцию

Код: Выделить всё

 Map => [
        # note: Login, Email and CustomerID needed!
        # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
        [ 'UserTitle',      'Title',      'title',      1, 0, 'var', '', 0 ],
        [ 'UserFirstname',  'Firstname',  'first_name', 1, 1, 'var', '', 0 ],
        [ 'UserLastname',   'Lastname',   'last_name',  1, 1, 'var', '', 0 ],
        [ 'UserLogin',      'Username',   'login',      1, 1, 'var', '', 0 ],
        [ 'UserPassword',   'Password',   'pw',         0, 0, 'var', '', 0 ],
        [ 'UserEmail',      'Email',      'email',      1, 1, 'var', '', 0 ],

#        [ 'UserEmail',      'Email', 'email',           1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
        [ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var', '', 0 ],

#        [ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var', '', 0 ],
        [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
        [ 'UserFax',          'Fax',         'fax',          1, 0, 'var', '', 0 ],
        [ 'UserMobile',       'Mobile',      'mobile',       1, 0, 'var', '', 0 ],
        [ 'UserStreet',       'Street',      'street',       1, 0, 'var', '', 0 ],
        [ 'UserZip',          'Zip',         'zip',          1, 0, 'var', '', 0 ],
        [ 'UserCity',         'City',        'city',         1, 0, 'var', '', 0 ],
        [ 'UserCountry',      'Country',     'country',      1, 0, 'var', '', 0 ],
        [ 'UserComment',      'Comment',     'comments',     1, 0, 'var', '', 0 ],
        [ 'ValidID',          'Valid',       'valid_id',     0, 1, 'int', '', 0 ],
    ],
и комментарии к ней. И здесь на форуме поищите, было неоднократно :oops:
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 15 окт 2012, 12:49

ykolesnikov писал(а):И здесь на форуме поищите, было неоднократно :oops:
Да я поискал, че-то ничего не нашел. По словам "AD, Active Directory"
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 15 окт 2012, 13:18

Добавил telephone. Не могу понять, этого достаточно или надо что-то еще прописать, чтобы увидеть телефон пользователя в Системе?

Код: Выделить всё

Map => [
      [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
      [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
      [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
      [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
      [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
      [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
    ],
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Отображение информации о клиенте из AD

Сообщение ykolesnikov » 15 окт 2012, 13:22

Если мне не изменяет память, сам я этим не занимаюсь, не админ, строка

Код: Выделить всё

        [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
и отвечает за получение номера телефона из AD.
Надо только обеспечить, чтобы в этом поле в AD был номер телефона клиента.
Пусть меня поправят более сведующие коллеги :oops:
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 15 окт 2012, 13:27

ykolesnikov писал(а):Если мне не изменяет память, сам я этим не занимаюсь, не админ, строка

Код: Выделить всё

        [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
Не не. В Microsfot Active Directory надо писать 'telephonenumber'. Но я пробовал оба варианта.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 16 окт 2012, 06:03

Что-то чувствую неладно. Отключил в Config.pm UserLastname и UserFirstname и проверил. Во вкладке клиенты столбец "Имя" остался, но информация в нем исчезла. Так что у меня появилось чувство, что мне нужно ручками где-то добавить столбец "Телефон". Но вот только где?
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Отображение информации о клиенте из AD

Сообщение ykolesnikov » 16 окт 2012, 08:23

А попробуйте написать - 'telephoneNumber' :oops:
http://www.selfadsi.org/user-attributes.htm
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 16 окт 2012, 08:38

ykolesnikov писал(а):А попробуйте написать - 'telephoneNumber' :oops:
http://www.selfadsi.org/user-attributes.htm
Это я написал вторым делом, после "phone", получив атрибут именно заглянув в ADSI. Но потом ниже в мануале увидел, что все буквы строчные.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 16 окт 2012, 08:56

Только что проверил. Создал заявку телефонную, выбрал клиента и в информации о клиенте отобразился таки его телефон! Значит работает, значит точно надо что-то включить-изменить, чтобы телефон отображался в Клиентах. А вообще модуль работает.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Отображение информации о клиенте из AD

Сообщение ykolesnikov » 16 окт 2012, 09:24

В мануале написано:
Если дополнительные атрибуты клиента хранятся в LDAP-каталоге, например, имя руководителя, номер мобильного телефона, или отдела, и если эту информацию нужно отобразить в OTRS, просто расширьте MAP-массив в файле Kernel/Config.pm записями для этих атрибутов, как показано в Сценарии 11.6.

Код: Выделить всё

  # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
    [...]
    [ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var', '', 0 ],
Сценарий 11.6. Добавление нового поля в файл Kernel/Config.pm.
И не более того
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 16 окт 2012, 09:52

В общем, решил я не менять ничего в этой вкладке Клиенты. Главное, что отображается в информации о клиенте.

А вот прекрасный мануал по добавлению любых полей: я мануал

К примеру, я добавил департамент пользователя таким образом:

-по мануалу, приведенному выше, добавил в БД данные:

Код: Выделить всё

mysql> ALTER TABLE customer_user ADD Department VARCHAR(255);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
-добавил в Config.pm в секцию Map

Код: Выделить всё

      [ 'UserDepartment', 'Департамент', 'department', 1, 0, 'var' ],
Все, кроме атрибута АД, выдумал сам. Теперь нужно править стили ccs, а то все название в колонке "Информация о клиенте" не вмещается.

Так что можно добавить тему в ховтузы :D
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Отображение информации о клиенте из AD

Сообщение ykolesnikov » 16 окт 2012, 10:06

Вообще-то, если я правильно понимаю, это касается только клиентов заводимых в базу OTRS. Клиенты из AD в таблицах OTRS не хранятся и отображаются только на основании MAP-секции из Config.pm
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

Romano
OTRS Новобранец
Сообщения: 57
Зарегистрирован: 12 окт 2012, 12:49

Re: Отображение информации о клиенте из AD

Сообщение Romano » 16 окт 2012, 17:41

2 firebolt
Если не трудно, выложите, пожалуйста, полный Config.pm
OTRS + ITSM 3.2.3
Win Server 2003 R2

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 17 окт 2012, 05:55

Romano писал(а):2 firebolt
Если не трудно, выложите, пожалуйста, полный Config.pm
Да, конечно!

Код: Выделить всё

# Enable LDAP Authentication Sync for Agent #

    $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = 'svrmain.company.local';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'ou=company Users,dc=company,dc=local';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=linadmin,OU=Administrators,DC=company,DC=local';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = '*****';
    # Enable Agent Mapping from LDAP to DB #
    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
    UserFirstname => 'givenName',
    UserLastname => 'sn',
    UserEmail => 'mail',
    };

    $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
        'users',
    ];
    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host'} = 'svrmain.company.local';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'ou=Company Users,dc=company,dc=local';
    $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=linadmin,OU=Administrators,DC=company,DC=local';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = '*****';
    $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host'} ='svrmain.company.local';
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'ou=Company Users,dc=company,dc=local';
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=linadmin,OU=Administrators,DC=company,DC=local';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = '*****';
    
    #Company'
    $Self->{CustomerUser1} = {
     Name => 'Company',
     Module => 'Kernel::System::CustomerUser::LDAP',
     Params => {
      Host => 'svrmain.company.local',
      BaseDN => 'OU=Company Users,DC=company,DC=local',
      SSCOPE => 'sub',
      UserDN => 'cn=linadmin,ou=Administrators,dc=company,dc=local',
      UserPw => '*****',
      SourceCharset => 'utf-8',
      DestCharset => 'utf-8',
      AlwaysFilter => '(&(objectCategory=User)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
 #     Params => {
		port => 389,
		timeout => 120,
		async => 0,
		version => 3
#		},
    },
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserSearchListLimit => 900,
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    Map => [
      [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var', '', 0 ],
      [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var', '', 0 ],
      [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var', '', 0 ],
      [ 'UserEmail', 'Email', 'mail', 1, 1, 'var', '', 0 ],
      [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var', '', 0 ],
      [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ],
      [ 'UserTitle', 'Должность', 'title', 1, 0, 'var' ],
      [ 'UserDepartment', 'Департамент', 'department', 1, 0, 'var' ],
    ],
  };
Шапка и футер не вместились. Ну там как у всех.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

Romano
OTRS Новобранец
Сообщения: 57
Зарегистрирован: 12 окт 2012, 12:49

Re: Отображение информации о клиенте из AD

Сообщение Romano » 17 окт 2012, 09:55

Хм... как то странно. У меня похожий конфиг, все крутится на localhost'е.
Лог ОТРС пишет:

Код: Выделить всё

[Error][Kernel::System::Auth::LDAP::Auth][172] Can't connect to localhost: IO::Socket::INET: connect: timeout
В логах АПАЧа нет ошибок.

Везде, где в конфиге HOST прописано 'localhost'. Пробовал явно айпишник указать и 'ldap//localhost/' - та же фигня.
Может кто в курсе как оно решается?
_________________________________

Чтоб было понятно - стартовая страница логирования ОТРС открывается. Но при попытке входа под любой доменной учеткой - ничего не получается, пишет неверный логин или пароль. ну и вышеуказанная ошибка в логах ОТРС.

А под админ учеткой нормально получается зайти, но с ОЧЧЧЧЕНЬ большим ожиданием(минуты 2-3).

Теперь апач тоже пишет ошибку:

Код: Выделить всё

ERROR: OTRS-CGI-10 Perl: 5.12.3 OS: MSWin32 Time: Wed Oct 17 11:36:58 2012

 Message: Can't connect to localhost: IO::Socket::INET: connect: timeout 
Подскажите, пожалуйста, где копать?
OTRS + ITSM 3.2.3
Win Server 2003 R2

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

Re: Отображение информации о клиенте из AD

Сообщение firebolt » 19 окт 2012, 05:53

Romano писал(а):Подскажите, пожалуйста, где копать?
Пропишите вместо localhost локальный ip-адрес. Проверьте ваш файл hosts.

А лучше копайте в сторону linux. Проблем знать не будете :D
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

Romano
OTRS Новобранец
Сообщения: 57
Зарегистрирован: 12 окт 2012, 12:49

Re: Отображение информации о клиенте из AD

Сообщение Romano » 19 окт 2012, 10:07

firebolt писал(а): Пропишите вместо localhost локальный ip-адрес. Проверьте ваш файл hosts.

А лучше копайте в сторону linux. Проблем знать не будете :D
Благодарю, уже нашел свой фейл :) Всё работает, отлично берутся данные из АД, прекрасно логинится с АДшными учетками, всё пашет.
Кручу дальше...
OTRS + ITSM 3.2.3
Win Server 2003 R2

Ответить