интеграция с Active Directory

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

Модератор: ykolesnikov

Ответить
inter07
OTRS Новобранец
Сообщения: 25
Зарегистрирован: 05 апр 2016, 20:40
Благодарил (а): 1 раз

интеграция с Active Directory

Сообщение inter07 » 05 апр 2016, 21:13

Добрый день!
Подскажите пожалуйста что не так... Или вожможно у кого-то есть пример как настроить.
Не получается провести настройку интеграции OTRS с Active Directory.
Пользователь и група в Users. Вроде все по порядку как у vmkh.net integratsiya-otrs-s-active-directory..
Правда на сайте OTRS.github другая информация по настройке LDAP ето - особенность 5.0.8?
(otrs.github.io/doc/manual/admin/stable/en/html/external-backends.html#customer-data - LDAP) - тоже не получается.


Спасибо!


(Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.)

Последний вариант конфигурации ниже.

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


$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'ip';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domen.ua,dc=ua';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRSagents,ou=Users,dc=domen,dc=ua';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'otrs@domen';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'pass';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
sscope => 'sub'
};
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'ip';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=domen, dc=ua';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'otrs@domen';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'pass';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users', 'basic_admin',
];
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'ip';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=domen,dc=ua';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'otrs@domen';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'pass';
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'ip',
BaseDN => 'DC=domen,DC=ua',
SSCOPE => 'sub',
UserDN =>'otrs@domen',
UserPw => 'pass',
AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 10000,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
note: Login, Email and CustomerID needed!
#[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
[ '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' ],
#[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
Последний раз редактировалось inter07 06 апр 2016, 10:11, всего редактировалось 1 раз.
С уважением Юрий
OTRS 6.0.30, (ITSM 6.0.30)
CentOS 7

inter07
OTRS Новобранец
Сообщения: 25
Зарегистрирован: 05 апр 2016, 20:40
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение inter07 » 06 апр 2016, 08:27

First bind failed! 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 52e, vece

При других вариантах такая ошыбка... Подскажете в чем может быть проблема?
С уважением Юрий
OTRS 6.0.30, (ITSM 6.0.30)
CentOS 7

alegator2222
OTRS Новобранец
Сообщения: 117
Зарегистрирован: 14 апр 2015, 16:11
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение alegator2222 » 06 апр 2016, 08:55

У меня так.

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

 $Self->{'Customer::AuthModule3'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host3'} ='domen.corp.local';
    $Self->{'Customer::AuthModule::LDAP::BaseDN3'} = 'domen,DC=corp,DC=local';
    $Self->{'Customer::AuthModule::LDAP::UID3'} = 'sAMAccountName';
    
    $Self->{'Customer::AuthModule::LDAP::AccessAttr3'} = 'member';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN3'} = 'CN=LDAPUser,CN=Users,DC=corp,DC=local';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw3'} = 'pass';
    $Self->{'Customer::AuthModule::LDAP::Params3'} = {
	port => 389,
	timeout => 120,
	async => 0,
	version => 3,
	};

    $Self->{CustomerUser3} = {
     Name => 'AD_NN',
     Module => 'Kernel::System::CustomerUser::LDAP',
     Params => {
      Host => 'domen.corp.local',
      BaseDN => 'DC=domen,DC=corp,DC=local',
      SSCOPE => 'sub',
      UserDN => 'CN=LDAPUser,CN=Users,DC=corp,DC=local',
      UserPw => 'pass',
      AlwaysFilter => '(objectCategory=Person)(scriptPath=*.vbs)',
      SourceCharset => 'utf-8',
      DestCharset => 'utf-8',

    },
    CustomerKey => 'sAMAccountName',
  CustomerID => 'sAMAccountName',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    CustomerUserSearchPrefix => '*',
    CustomerUserSearchSuffix => '*',
    CustomerUserSearchListLimit => 10000,
    CustomerUserExcludePrimaryCustomerID => 0,
    AdminSetPreferences => 0,
    Map => [
      [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
      [ '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', 'company', 1, 1, 'var' ],
      [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
    [ 'UserAddress', 'Address', 'physicalDeliveryOfficeName', 1, 0, 'var' ],
      [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
    ],
};
OTRS 6.0.11
Ubuntu 18.04.1 server

inter07
OTRS Новобранец
Сообщения: 25
Зарегистрирован: 05 апр 2016, 20:40
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение inter07 » 06 апр 2016, 11:00

Спасибо, таким образом ошибка не попадает. Но пользователи зайти не могут через портал (Customer), плюс клиент по заявке с почти не проставляется, вроде синхронизация не проходит. Search failed! 0000202B: RefErr: DSID-031006E0, data 0, 1 access points
Под агентами заведенними вручную заходит.

alegator2222 писал(а):У меня так.

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

 $Self->{'Customer::AuthModule3'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host3'} ='domen.corp.local';
    $Self->{'Customer::AuthModule::LDAP::BaseDN3'} = 'domen,DC=corp,DC=local';
    $Self->{'Customer::AuthModule::LDAP::UID3'} = 'sAMAccountName';
    
    $Self->{'Customer::AuthModule::LDAP::AccessAttr3'} = 'member';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN3'} = 'CN=LDAPUser,CN=Users,DC=corp,DC=local';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw3'} = 'pass';
    $Self->{'Customer::AuthModule::LDAP::Params3'} = {
	port => 389,
	timeout => 120,
	async => 0,
	version => 3,
	};

    $Self->{CustomerUser3} = {
     Name => 'AD_NN',
     Module => 'Kernel::System::CustomerUser::LDAP',
     Params => {
      Host => 'domen.corp.local',
      BaseDN => 'DC=domen,DC=corp,DC=local',
      SSCOPE => 'sub',
      UserDN => 'CN=LDAPUser,CN=Users,DC=corp,DC=local',
      UserPw => 'pass',
      AlwaysFilter => '(objectCategory=Person)(scriptPath=*.vbs)',
      SourceCharset => 'utf-8',
      DestCharset => 'utf-8',

    },
    CustomerKey => 'sAMAccountName',
  CustomerID => 'sAMAccountName',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    CustomerUserSearchPrefix => '*',
    CustomerUserSearchSuffix => '*',
    CustomerUserSearchListLimit => 10000,
    CustomerUserExcludePrimaryCustomerID => 0,
    AdminSetPreferences => 0,
    Map => [
      [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
      [ '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', 'company', 1, 1, 'var' ],
      [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
    [ 'UserAddress', 'Address', 'physicalDeliveryOfficeName', 1, 0, 'var' ],
      [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
    ],
};
С уважением Юрий
OTRS 6.0.30, (ITSM 6.0.30)
CentOS 7

inter07
OTRS Новобранец
Сообщения: 25
Зарегистрирован: 05 апр 2016, 20:40
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение inter07 » 06 апр 2016, 12:20

Спасибо, работает. Клиенти синхронизировались!
Теперь еще осталось разобраться с прозрачной автентификацией)
С уважением Юрий
OTRS 6.0.30, (ITSM 6.0.30)
CentOS 7

alegator2222
OTRS Новобранец
Сообщения: 117
Зарегистрирован: 14 апр 2015, 16:11
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение alegator2222 » 06 апр 2016, 12:26

С этим гораздо сложнее, гораздо. Подумайте может оно и не надо, работать все равно будет только в IE или через костыли в Fierfox. А вот агентов можно делать автоматически.

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

#########################################
# Enable LDAP Authentication Sync for Agent1 #
#########################################

    $Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host1'} = 'domen.corp.local';    ## Можно IP
    $Self->{'AuthModule::LDAP::BaseDN1'} = 'domen,DC=corp,DC=local';
    $Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName';
	
   #########################################################
   # Для доступа к агентскому интерфейсу с помощью групп в АД#
   #########################################################
 
    $Self->{'AuthModule::LDAP::AccessAttr1'} = 'member';
    $Self->{'AuthModule::LDAP::SearchUserDN1'} = 'CN=LDAPUser,CN=Users,DC=corp,DC=local';
    $Self->{'AuthModule::LDAP::SearchUserPw1'} = 'pass';
   #   Для автоматического добавления домена в UID

   #######################################
   #   Enable Agent Mapping from LDAP to DB1 #
   #######################################

    $Self->{'AuthSyncModule1'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host1'} = 'domen.corp.local';
    $Self->{'AuthSyncModule::LDAP::BaseDN1'} = 'domen.corp.local';
    $Self->{'AuthSyncModule::LDAP::UID1'} = 'sAMAccountName';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN1'} = 'CN=LDAPUser,CN=Users,DC=corp,DC=local';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw1'} = 'pass';

    $Self->{'AuthSyncModule::LDAP::UserSyncMap1'} = {
    UserFirstname => 'givenName',
    UserLastname => 'sn',
    UserEmail => 'mail',
    };
    $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups1'} = [
        'users',
    ];

OTRS 6.0.11
Ubuntu 18.04.1 server

inter07
OTRS Новобранец
Сообщения: 25
Зарегистрирован: 05 апр 2016, 20:40
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение inter07 » 12 апр 2016, 19:58

Еще будет просьба, может подскажете что не так, либо пример рабочий.
Авторизацию клиентов так и не получаеться сделать. В системном журнале Search failed! 0000202B: RefErr: DSID-031006E0, data 0, 1 access points

В базе клиенты есть, затянуло всех полностью с АД. но при вводе логин\пароль - Login failed! Your user name or password was entered incorrectly.
Пробовал по разному вводить - и с доменом, и просто логин, и почту...

Код ниже...

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

 $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host'} ='domen-ip';
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'DC=domen,DC=ua';
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';

    $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,CN=Users,DC=domen,DC=ua';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'pass';
    $Self->{'Customer::AuthModule::LDAP::Params'} = {
   port => 389,
   timeout => 120,
   async => 0,
  version => 3,
  };

    $Self->{CustomerUser} = {
     Name => 'AD_NN',
     Module => 'Kernel::System::CustomerUser::LDAP',
     Params => {
      Host => 'domen-ip',
      BaseDN => 'DC=domen,DC=ua',
      SSCOPE => 'sub',
      UserDN => 'CN=otrs,CN=Users,DC=domen,DC=ua',
      UserPw => 'pass',
      AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
      SourceCharset => 'utf-8',
      DestCharset => 'utf-8',

    },
    CustomerKey => 'userPrincipalName',
  CustomerID => 'mail',
    CustomerUserListFields => ['cn', 'mail'],
    CustomerUserSearchFields => ['cn', 'givenname', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    CustomerUserSearchPrefix => '',
    CustomerUserSearchSuffix => '*',
    CustomerUserSearchListLimit => 10000,
    CustomerUserExcludePrimaryCustomerID => 0,
    AdminSetPreferences => 0,
    Map => [
      [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
      [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
      [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
      [ 'UserLogin', 'Login', 'userPrincipalName', 1, 1, 'var' ],
     [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
      [ 'UserCustomerID', 'CustomerID', 'company', 1, 1, 'var' ],
      [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
    [ 'UserAddress', 'Address', 'physicalDeliveryOfficeName', 1, 0, 'var' ],
      [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
    ],
};

С уважением Юрий
OTRS 6.0.30, (ITSM 6.0.30)
CentOS 7

alegator2222
OTRS Новобранец
Сообщения: 117
Зарегистрирован: 14 апр 2015, 16:11
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение alegator2222 » 13 апр 2016, 10:48

Попробуйте, вместо IP домена вписать его именем, полностью. Агенты входят?
OTRS 6.0.11
Ubuntu 18.04.1 server

inter07
OTRS Новобранец
Сообщения: 25
Зарегистрирован: 05 апр 2016, 20:40
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение inter07 » 14 апр 2016, 07:57

Да, агенти входят. Имя вместо IP пробовал, не помогает. Может в последнем блоке где-то ошибка, там где прописывать поля синхронизации? Как логин должно использоваться доменное имя пользователя, верно? Ваш пример для клиентов у меня тоже не хотел работать.. Тоесть в базу затянулись, но авторизоваться не могут.(
С уважением Юрий
OTRS 6.0.30, (ITSM 6.0.30)
CentOS 7

alegator2222
OTRS Новобранец
Сообщения: 117
Зарегистрирован: 14 апр 2015, 16:11
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение alegator2222 » 14 апр 2016, 09:28

Входить нужно просто по имени, без @domen . Последний блок править надо. У вас в качестве ID изпользуется "mail"
скину рабочий вариант.

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

CustomerKey => 'sAMAccountName',
  CustomerID => 'sAMAccountName',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    CustomerUserSearchPrefix => '*',
    CustomerUserSearchSuffix => '*',
    CustomerUserSearchListLimit => 10000,
    CustomerUserExcludePrimaryCustomerID => 0,
    AdminSetPreferences => 0,
    Map => [
      [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
      [ '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', 'company', 1, 1, 'var' ],
      [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
    [ 'UserAddress', 'Address', 'physicalDeliveryOfficeName', 1, 0, 'var' ],
      [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
    ],
};
OTRS 6.0.11
Ubuntu 18.04.1 server

alegator2222
OTRS Новобранец
Сообщения: 117
Зарегистрирован: 14 апр 2015, 16:11
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение alegator2222 » 14 апр 2016, 09:30

И да, вход пользователя осуществлять нужно по ссылке http://IP/otrs/customer.pl
OTRS 6.0.11
Ubuntu 18.04.1 server

Sergioss
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 22 ноя 2016, 11:48

Re: интеграция с Active Directory

Сообщение Sergioss » 23 ноя 2016, 15:32

Та жа проблема, но пока почему то не получается решить, почитал форум, пробовал решения, но пока что то не как, не могу понять в чем ошибка, юзеры подгрузились, но авторизация не проходит.
Внимание, пользователь аутентифицировался, в БД OTRS отсутствуют данные о нем!! Возможно этот пользователь недействительный.

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



package Kernel::Config;

use strict;
use warnings;
use utf8;

sub Load {
    my $Self = shift;

    # ---------------------------------------------------- #
    # database settings                                    #
    # ---------------------------------------------------- #

    # The database host
    $Self->{DatabaseHost} = '127.0.0.1';

    # The database name
    $Self->{Database} = 'otrs';

    # The database user
    $Self->{DatabaseUser} = 'otrs';

    # The password of database user. You also can use bin/otrs.Console.pl Maint::Database::PasswordCrypt
    # for crypted passwords
    $Self->{DatabasePw} = '8888888888';

    # The database DSN for MySQL ==> more: "perldoc DBD::mysql"
    $Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";

    # The database DSN for PostgreSQL ==> more: "perldoc DBD::Pg"
    # if you want to use a local socket connection
#    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
    # if you want to use a TCP/IP connection
#    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";

    # The database DSN for Microsoft SQL Server - only supported if OTRS is
    # installed on Windows as well
#    $Self->{DatabaseDSN} = "DBI:ODBC:driver={SQL Server};Database=$Self->{Database};Server=$Self->{DatabaseHost},1433";

    # The database DSN for Oracle ==> more: "perldoc DBD::oracle"
#    $Self->{DatabaseDSN} = "DBI:Oracle://$Self->{DatabaseHost}:1521/$Self->{Database}";
#
#    $ENV{ORACLE_HOME}     = '/path/to/your/oracle';
#    $ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD HH24:MI:SS';
#    $ENV{NLS_LANG}        = 'AMERICAN_AMERICA.AL32UTF8';

    # ---------------------------------------------------- #
    # fs root directory
    # ---------------------------------------------------- #
    $Self->{Home} = '/opt/otrs';

    # ---------------------------------------------------- #
    # insert your own config settings "here"               #
    # config settings taken from Kernel/Config/Defaults.pm #
    # ---------------------------------------------------- #
    # $Self->{SessionUseCookie} = 0;
    # $Self->{CheckMXRecord} = 0;

    # ---------------------------------------------------- #
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';

# IP адрес LDAP каталога #
$Self->{'AuthModule::LDAP::Host'} = '10.20.88.88'; 

# Тоже думаю понятно, указываем корень LDAP #
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=8888,dc=local'; 

# Указываем какое поле будем использовать в качестве UID #
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName'; 

# Указываем где искать. Мои агенты заведены в группу OTRSagents в OU organization #
# Тут можно указать свой путь для Агентов, если они у вас в другом месте #
$Self->{'AuthModule::LDAP::GroupDN'} = 'dc=8888,dc=LOCAL'; 
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; 
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN'; 

# Учётка для подключения к LDAP, заранее надо ее создать от рута на отрс #
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'root@8888.local'; 
$Self->{'AuthModule::LDAP::SearchUserPw'} = '88888'; 

# Указываем фильтр и параметры подключения к LDAP#
$Self->{'AuthModule::LDAP::AlwaysFilter'} = ''; 
$Self->{'AuthModule::LDAP::Params'} = { 
port => 389, 
timeout => 120, 
async => 0, 
version => 3, 
sscope => 'sub' 
}; 
# Конец настроек LDAP аутентификации для Агентов #

# Настройка модуля синхронизации Агентов с LDAP #
# Синхронизируем базу агентов с LDAP # 
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; 

# IP Адресс LDAP каталога #
$Self->{'AuthSyncModule::LDAP::Host'} = '10.20.888.88'; 

# Указываем BaseDN #
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=8888, dc=local'; 

# Указываем какое поле берём в качестве UID #
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; 

# Учетка для подключения к LDAP #
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'root@8888.local'; 
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = '88888'; 

# Указываем соответствие полей #
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { 
UserFirstname => 'givenName', 
UserLastname => 'sn', 
UserEmail => 'mail', 
}; 
# И кого синхронизировать #
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ 
'users', 'basic_admin', 
]; 
# Конец настроек модуля синхронизации Агентов #

# Настройки авторизации Кустомеров #
# Тут всё просто, нужно просто включить модуль HTTPBasicAuth #
# Включаем HTTPBasicAuth для кустомеров #
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth'; 
# И указываем какие странички открывать в случае успешной авторизации #
$Self->{CustomerPanelLoginURL1} = 'http://helpdesk.domain.ru/otrs/customer.pl'; 
$Self->{CustomerPanelLogoutURL1} = 'http://helpdesk.domain.ru/otrs/customer.pl'; 
# Конец настроек авторизации Кустомеров #

# А теперь подтянем базу кустомеров из LDAP #
# Кустомерами у нас будут все пользователи домена без исключения #
$Self->{CustomerUser} = { 
Module => 'Kernel::System::CustomerUser::LDAP', 
Params => { 
Host => '888888', 
BaseDN => 'DC=88888,DC=local', 
SSCOPE => 'sub', 
UserDN =>'root@8888.local', 
UserPw => '888888', 
AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))', 
SourceCharset => 'utf-8', 
DestCharset => 'utf-8', 
}, 

# Указываем соответствие поле #
# Капец какое шаманство, нифига не понял, но работает #

CustomerKey => 'sAMAccountName', 
CustomerID => 'mail', 
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'], 
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'], 
CustomerUserSearchPrefix => '', 
CustomerUserSearchSuffix => '*', 
CustomerUserSearchListLimit => 10000, 
CustomerUserPostMasterSearchFields => ['mail'], 
CustomerUserNameFields => ['givenname', 'sn'], 
Map => [ 
# А вот тут уже более менее понятно и даже можно самому поковырять и #
# подобавлять поля по своему хотению #
# Кстати, поля: Login, Email и CustomerID обязательны! # 
[ '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' ], 
], 
}; 
# Конец конфига #
  
}

# ---------------------------------------------------- #
# needed system stuff (don't edit this)                #
# ---------------------------------------------------- #

use Kernel::Config::Defaults; # import Translatable()
use base qw(Kernel::Config::Defaults);

# -----------------------------------------------------#

1;
Ubuntu 16.04.1 LTS
Linux Service 4.4.0-47-generic
OTRS-5.0.19

Sergioss
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 22 ноя 2016, 11:48

Re: интеграция с Active Directory

Сообщение Sergioss » 23 ноя 2016, 20:25

В общем отредактировал, конф и теперь на /otrs/customer.pl, авторизация проходит, не пойму только почему нельзя рулить правами из админки отрс, получается надо в ручную создавть админа? прав клиенту не выдать?
Ubuntu 16.04.1 LTS
Linux Service 4.4.0-47-generic
OTRS-5.0.19

inter07
OTRS Новобранец
Сообщения: 25
Зарегистрирован: 05 апр 2016, 20:40
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение inter07 » 24 ноя 2016, 22:30

Sergioss писал(а):В общем отредактировал, конф и теперь на /otrs/customer.pl, авторизация проходит, не пойму только почему нельзя рулить правами из админки отрс, получается надо в ручную создавть админа? прав клиенту не выдать?
Да, один или несколько агентов должны иметь права администратора. Их можно с группы в AD синхронизировать. Под root@localhost зайти не получится, если настроенная сквозная аутентификация.
С уважением Юрий
OTRS 6.0.30, (ITSM 6.0.30)
CentOS 7

Sergioss
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 22 ноя 2016, 11:48

Re: интеграция с Active Directory

Сообщение Sergioss » 25 ноя 2016, 11:14

inter07 писал(а):
Sergioss писал(а):В общем отредактировал, конф и теперь на /otrs/customer.pl, авторизация проходит, не пойму только почему нельзя рулить правами из админки отрс, получается надо в ручную создавть админа? прав клиенту не выдать?
Да, один или несколько агентов должны иметь права администратора. Их можно с группы в AD синхронизировать. Под root@localhost зайти не получится, если настроенная сквозная аутентификация.
Я поменял root@localhost на данные с учетки в АД, видимо этот блок править? $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users',
];
он вроде говорит кем будет юзер когда залогинится? "Их можно с группы в AD синхронизировать." Расскажи для особенных плз, ну или ткни в ман)
Ubuntu 16.04.1 LTS
Linux Service 4.4.0-47-generic
OTRS-5.0.19

inter07
OTRS Новобранец
Сообщения: 25
Зарегистрирован: 05 апр 2016, 20:40
Благодарил (а): 1 раз

Re: интеграция с Active Directory

Сообщение inter07 » 25 ноя 2016, 11:32

Тут классная инструкция.
https://habrahabr.ru/post/265537/

У меня в результате конфиг выглядит вот так (спасибо за помощь alegator2222).
Реализован прозрачный вход для агентов и клиентов. Агенты в группе в AD.
Под root@localhost сейчас можно зайти, только если сделать не прозрачную авторизацию для агентов.

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

$Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';
$Self->{'AuthModule2'} = 'Kernel::System::Auth::DB';

$Self->{'AuthModule::LDAP::Host'} = '10.1.xx.xx'; 
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domen,dc=ua'; 
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName'; 
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRSagents,ou=Group,dc=domen,dc=ua'; 
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; 
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN'; 
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,cn=Users,DC=domen,DC=ua'; 
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'password'; 
$Self->{'AuthModule::LDAP::AlwaysFilter'} = ''; 
$Self->{'AuthModule::LDAP::Params'} = { 
port => 389, 
timeout => 120, 
async => 0, 
version => 3, 
sscope => 'sub' 
}; 

$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP'; 
$Self->{'AuthSyncModule::LDAP::Host'} = '10.1.xx.xx'; 
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=domen, dc=ua'; 
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName'; 
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=otrs,CN=Users,DC=domen,DC=ua'; 
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password'; 
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = { 
UserFirstname => 'givenName', 
UserLastname => 'sn', 
UserEmail => 'mail', 
}; 
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ 
'users',
]; 

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth'; 
$Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::DB';
$Self->{'Customer::AuthModule::DB::Table2'}            = 'customer_user';
$Self->{'Customer::AuthModule::DB::CustomerKey2'}      = 'login';
$Self->{'Customer::AuthModule::DB::CustomerPassword2'} = 'pw';
$Self->{'Debug'}=0; 

$Self->{CustomerUser2} = { 
Name => 'AD Users',
Module => 'Kernel::System::CustomerUser::LDAP', 
Params => { 
      Host => '10.1.xx.xx',
      BaseDN => 'DC=domen,DC=ua',
      SSCOPE => 'sub',
      UserDN => 'CN=otrs,CN=Users,DC=domen,DC=ua',
      UserPw => 'password',
      AlwaysFilter => '(&(samAccountType=805306368)(! (userAccountControl:1.2.840.113556.1.4.803:=2)))',
SourceCharset => 'utf-8', 
DestCharset => 'utf-8', 
}, 

CustomerKey => 'sAMAccountName', 
CustomerID => 'mail', 
CustomerUserListFields => ['cn', 'mail'], 
CustomerUserSearchFields => ['cn', 'givenname', 'mail'], 
CustomerUserSearchPrefix => '', 
CustomerUserSearchSuffix => '*', 
CustomerUserSearchListLimit => 10000, 
CustomerUserPostMasterSearchFields => ['mail'], 
CustomerUserNameFields => ['givenname', 'sn'], 
Map => [ 
[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
[ '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' ],
[ 'UserMobile',     'Mobile',      'mobile', 1, 0, 'var', '', 0 ],
[ 'UserAddress',    'Address',    'streetAddress',   1, 0, 'var', '', 0 ],
[ 'UserCity',       'City',       'l',        1, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'department', 1, 0, 'var' ],
[ 'UserRoom',       'Room',        'ipPhone', 1, 0, 'var', '', 0 ],
], 
}; 
С уважением Юрий
OTRS 6.0.30, (ITSM 6.0.30)
CentOS 7

Sergioss
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 22 ноя 2016, 11:48

Re: интеграция с Active Directory

Сообщение Sergioss » 25 ноя 2016, 13:56

Поробую твой, я вот такой собрал

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

# -- My conf OTRS

package Kernel::Config;

use strict;
use warnings;
use utf8;

sub Load {
    my $Self = shift;

    # database settings#
    $Self->{DatabaseHost} = '127.0.0.1';
    $Self->{Database} = 'otrs';
    $Self->{DatabaseUser} = 'otrs';
    $Self->{DatabasePw} = 'pass';
    $Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";
    # fs root directory
    $Self->{Home} = '/opt/otrs';
    # Enable LDAP Authentication Sync for Agent #
    $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = 'dc-a.domain.local';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=domain,dc=local';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=root,OU=Group,dc=domain,dc=local';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'pass';


    # 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'} = 'dc-a.domain.local';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain, dc=local';
    $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=root,OU=Group,dc=domain,dc=local';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = 'pass';

    # Enable LDAP Authentication Sync for Customer #
    $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host'} ='dc-a.domain.local';
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=domain, dc=local';
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=root,OU=Group,dc=domain,dc=local';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'pass';
    $Self->{CustomerUser} = {
      Name => 'Group',
      Module => 'Kernel::System::CustomerUser::LDAP',
      Params => {
      Host => 'dc-a.domain.local',
      BaseDN => 'dc=domain, dc=local',
      SSCOPE => 'sub',
      UserDN => 'CN=root,OU=Group,dc=domain,dc=local',
      UserPw => 'pass',
      AlwaysFilter => '(&(objectcategory=person)(objectclass=user)(mail=*)(!(description=built-In))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
      SourceCharset => 'utf-8',
      DestCharset => 'utf-8',

    },

    CustomerKey => 'sAMAccountName',
    CustomerID => 'sAMAccountName',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    Map => [
      [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
      [ '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' ],
      [ 'UserAddress', 'Address', 'physicalDeliveryOfficeName', 1, 0, 'var' ],
      [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
    ],
  }; 
}


# ---------------------------------------------------- #
# needed system stuff (don't edit this)                #
# ---------------------------------------------------- #

use Kernel::Config::Defaults; # import Translatable()
use base qw(Kernel::Config::Defaults);

# -----------------------------------------------------#

1;
Ubuntu 16.04.1 LTS
Linux Service 4.4.0-47-generic
OTRS-5.0.19

Sergioss
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 22 ноя 2016, 11:48

Re: интеграция с Active Directory

Сообщение Sergioss » 29 ноя 2016, 14:41

Да синхронизация админов в агенты не получается, подскажите пожалуйста как.
Ubuntu 16.04.1 LTS
Linux Service 4.4.0-47-generic
OTRS-5.0.19

mukexa
OTRS Новобранец
Сообщения: 148
Зарегистрирован: 30 апр 2013, 19:08
Откуда: Украина, Киев.
Поблагодарили: 1 раз

Re: интеграция с Active Directory

Сообщение mukexa » 23 фев 2017, 19:19

"Внимание, пользователь аутентифицировался, в БД OTRS отсутствуют данные о нем!! Возможно этот пользователь недействительный."
Когда вообще такое пишет? Борюсь с переходом на PostgreSQL )
OTRS 5s, Ubuntu 12.04

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: интеграция с Active Directory

Сообщение alexus » 24 фев 2017, 09:40

Такое пишется, когда авторизация прошла успешно, но в бекенде не найден агент или клиент с таким логином.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

Sertax
OTRS Новобранец
Сообщения: 3
Зарегистрирован: 09 мар 2017, 17:40

Re: интеграция с Active Directory

Сообщение Sertax » 09 мар 2017, 17:48

Очень нужна помощь никак не могу преодолеть ошибку Аутентификация успешна, однако ни одной записи для клиента не обнаружено в используемой/ых базе клиентов. Обратитесь к вашему администратору.
Вот что в системном журнале,
Thu Mar 9 17:25:57 2017 error OTRS-CGI-10 Can't contact LDAP server
Thu Mar 9 17:25:57 2017 error OTRS-CGI-10 Can't contact LDAP server
Thu Mar 9 17:25:57 2017 error OTRS-CGI-10 No such user 'mark'!
Thu Mar 9 17:25:57 2017 error OTRS-CGI-10 First bind failed! 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1
Thu Mar 9 17:25:50 2017 error OTRS-CGI-10 First bind failed! 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1
Thu Mar 9 17:25:48 2017 error OTRS-CGI-10 Can't contact LDAP server
Thu Mar 9 17:25:48 2017 error OTRS-CGI-10 Can't contact LDAP server
Thu Mar 9 17:25:48 2017 error OTRS-CGI-10 No such user 'mark'!

в конфиге все по мануалам, незнаю куда уже смотреть, он не может достучаться до АД вообще? в консоль агента вроде бы заходит нормально, а в клиента никак, буду очень благодарен

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: интеграция с Active Directory

Сообщение alexus » 09 мар 2017, 22:03

alexus писал(а):Такое пишется, когда авторизация прошла успешно, но в бекенде не найден агент или клиент с таким логином.
Проверьте настройки маппинга атрибутов клиента. Если аутентификация прошла, значит с подключением с AD всё хорошо.
Настройки покажите.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

Sertax
OTRS Новобранец
Сообщения: 3
Зарегистрирован: 09 мар 2017, 17:40

Re: интеграция с Active Directory

Сообщение Sertax » 09 мар 2017, 22:51

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

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'k20-serv-k02.kas.shop.ru';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=kas,dc=shop,dc=ru';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRS_agents,OU=Groups,OU=К20,OU=shops locals,dc=kas,dc=shop,dc=ru';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=К20.otrs,OU=Users,OU=К20,OU=shops locals,dc=kas,dc=shop,dc=ru';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Zxcvbn';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
sscope => 'sub'
};


$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'k20-serv-k02.kas.shop.ru';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=kas,dc=shop,dc=ru';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'cn=К20.otrs,OU=Users,OU=К20,OU=shops locals,dc=kas,dc=shop,dc=ru';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Zxcvbn';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};

$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users', 'basic_admin',
];

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'k20-serv-k02.kas.shop.ru';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=kas,dc=shop,dc=ru';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=К20.otrs,OU=Users,OU=К20,OU=shops locals,dc=kas,dc=shop,dc=ru';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Zxcvbn';

	$Self->{CustomerUser} = {
	Module => 'Kernel::System::CustomerUser::LDAP',
	Params => {
		Host => 'k20-serv-k02.kas.shop.ru',
		BaseDN => 'dc=kas,dc=shop,dc=ru',
		SSCOPE => 'sub',
		UserDN =>'cn=К20.otrs,OU=Users,OU=К20,OU=shops locals,dc=kas,dc=shop,dc=ru',
		UserPw => 'Zxcvbn',
		AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
		SourceCharset => 'utf-8',
		DestCharset => 'utf-8',
		},

	CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 10000,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
# note: Login, Email and CustomerID needed!
#[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
[ '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' ],
#[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: интеграция с Active Directory

Сообщение alexus » 09 мар 2017, 22:57

На первый взгляд, вроде всё верно.
1. Попробуйте убрать
inter07 писал(а):      AlwaysFilter => '(&(samAccountType=805306368)(! (userAccountControl:1.2.840.113556.1.4.803:=2)))',
2. Попробуйте в новой телефонной заявке поискать клиента.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

Sertax
OTRS Новобранец
Сообщения: 3
Зарегистрирован: 09 мар 2017, 17:40

Re: интеграция с Active Directory

Сообщение Sertax » 10 мар 2017, 09:03

Убрал не помогло, ................
Наконецто , начал проверять дальше по мануалам, и вдруг просто заменил
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=К20.otrs,OU=Users,OU=К20,OU=shops locals,dc=kas,dc=shop,dc=ru';
на сокрщащенный вариант k20.otrs@kas.shop.ru, и у меня клиент вошел, не понимаю почему он не находил по ADSI имени
теперь хотелось бы как нибудь сквозную без ввода логина и пароля

Ответить