OTRS 2.1.2 an MS Windows 2003 ADS anbinden
OTRS 2.1.2 an MS Windows 2003 ADS anbinden
Hall Zusammen,
ich habe im Forum eine CFG fuer ADS Anbindung gefunden.
Habe es fuer unsere ADS angepasst.
Sie so aus:
opt/otrs/Kernel/Config.pm
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '192.168.1.240';
$Self->{'AuthModule::LDAP::BaseDN'} = 'OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};
$Self->{UserSyncLDAPMap} = {
Firstname => 'givenName',
Lastname => 'sn',
Email => 'mail',
};
$Self->{UserSyncLDAPGroups} = [
'users'
];
$Self->{DatabaseUserTable} = 'system_user';
$Self->{DatabaseUserTableUserID} = 'id';
$Self->{DatabaseUserTableUserPW} = 'pw';
$Self->{DatabaseUserTableUser} = 'login';
in der /var/log/messages finde ich dann das:
Oct 20 09:27:49 otrs OTRS-CGI-10[2152]: [Notice][Kernel::System::Auth::LDAP::Auth] User: user1 (CN=user1,OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de) authentication ok (REMOTE_ADDR: 192.168.2.1).
Oct 20 09:27:49 otrs OTRS-CGI-10[2152]: [Notice][Kernel::System::User::GetUserData] Panic! No UserData for user: 'user1'!!!
Oct 20 09:27:50 otrs OTRS-CGI-10[2152]: [Error][Kernel::System::User::UserAdd][Line:225]: Email address (user1@unseredomain.de) not valid (invalid user1@unseredomain.de (no mail exchanger (mx) found!)! )!
Oct 20 09:27:50 otrs OTRS-CGI-10[2152]: [Error][Kernel::System::Auth::LDAP::Auth][Line:326]: Can't create user 'user1' (CN=user1,OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de) in RDBMS!
Oct 20 09:27:50 otrs OTRS-CGI-10[2152]: [Notice][Kernel::System::User::GetUserData] Panic! No UserData for user: 'user1'!!!
---------------
Customer Login:
$Self->{'Customer::AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.1.240';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'Customer::AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};
/var/log/messages
Oct 20 10:05:47 otrs OTRS-CGI-10[2151]: [Notice][Kernel::System::Auth::LDAP::Auth] User: sde (CN=SDE,OU=Userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de) authentication ok (REMOTE_ADDR: 192.168.2.1).
Im Browser:
Software error:
Can't locate object method "GetUserData" via package "Kernel::System::CustomerUser" at /opt/otrs//Kernel/System/Auth/LDAP.pm line 287, <PRODUCT> line 8.
For help, please send mail to the webmaster (root@localhost), giving this error message and the time and date of the error.
Wer kann mir sagen was ich falsch mache ?
Danke
ds2k5
ich habe im Forum eine CFG fuer ADS Anbindung gefunden.
Habe es fuer unsere ADS angepasst.
Sie so aus:
opt/otrs/Kernel/Config.pm
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '192.168.1.240';
$Self->{'AuthModule::LDAP::BaseDN'} = 'OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};
$Self->{UserSyncLDAPMap} = {
Firstname => 'givenName',
Lastname => 'sn',
Email => 'mail',
};
$Self->{UserSyncLDAPGroups} = [
'users'
];
$Self->{DatabaseUserTable} = 'system_user';
$Self->{DatabaseUserTableUserID} = 'id';
$Self->{DatabaseUserTableUserPW} = 'pw';
$Self->{DatabaseUserTableUser} = 'login';
in der /var/log/messages finde ich dann das:
Oct 20 09:27:49 otrs OTRS-CGI-10[2152]: [Notice][Kernel::System::Auth::LDAP::Auth] User: user1 (CN=user1,OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de) authentication ok (REMOTE_ADDR: 192.168.2.1).
Oct 20 09:27:49 otrs OTRS-CGI-10[2152]: [Notice][Kernel::System::User::GetUserData] Panic! No UserData for user: 'user1'!!!
Oct 20 09:27:50 otrs OTRS-CGI-10[2152]: [Error][Kernel::System::User::UserAdd][Line:225]: Email address (user1@unseredomain.de) not valid (invalid user1@unseredomain.de (no mail exchanger (mx) found!)! )!
Oct 20 09:27:50 otrs OTRS-CGI-10[2152]: [Error][Kernel::System::Auth::LDAP::Auth][Line:326]: Can't create user 'user1' (CN=user1,OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de) in RDBMS!
Oct 20 09:27:50 otrs OTRS-CGI-10[2152]: [Notice][Kernel::System::User::GetUserData] Panic! No UserData for user: 'user1'!!!
---------------
Customer Login:
$Self->{'Customer::AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.1.240';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'Customer::AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};
/var/log/messages
Oct 20 10:05:47 otrs OTRS-CGI-10[2151]: [Notice][Kernel::System::Auth::LDAP::Auth] User: sde (CN=SDE,OU=Userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de) authentication ok (REMOTE_ADDR: 192.168.2.1).
Im Browser:
Software error:
Can't locate object method "GetUserData" via package "Kernel::System::CustomerUser" at /opt/otrs//Kernel/System/Auth/LDAP.pm line 287, <PRODUCT> line 8.
For help, please send mail to the webmaster (root@localhost), giving this error message and the time and date of the error.
Wer kann mir sagen was ich falsch mache ?
Danke
ds2k5
Last edited by ds2k5 on 20 Oct 2006, 10:07, edited 3 times in total.
Sorry, bin kein ADS-Admin / bin Linux-Admin
mit ldapserach habe ich die ADS-Infos in ein File geschrieben.
(ldapsearch -h adssrv.unseredomain.de -x -b "dc=unseredomain,dc=de" -D "CN=VIEW,ou=Service Accounts,ou=NL1,dc=unseredomain,dc=de" -w password)
wenn ich mit den user1 anschaue:
dn: CN=SDE,OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de
sAMAccountName: user1
telephoneNumber: 000000 (telefon)
facsimileTelephoneNumber: 0000000 (faxnummer)
department: abc (abteilung)
proxyAddresses: smtp:user1@unseredomain.de
userPrincipalName: user1@unseredomain.de
mail: user1@NL1.unseredomain.de
hoffe das reicht als info
mit ldapserach habe ich die ADS-Infos in ein File geschrieben.
(ldapsearch -h adssrv.unseredomain.de -x -b "dc=unseredomain,dc=de" -D "CN=VIEW,ou=Service Accounts,ou=NL1,dc=unseredomain,dc=de" -w password)
wenn ich mit den user1 anschaue:
dn: CN=SDE,OU=userg1,OU=Users,OU=NL1,OU=ABT1,DC=unseredomain,DC=de
sAMAccountName: user1
telephoneNumber: 000000 (telefon)
facsimileTelephoneNumber: 0000000 (faxnummer)
department: abc (abteilung)
proxyAddresses: smtp:user1@unseredomain.de
userPrincipalName: user1@unseredomain.de
mail: user1@NL1.unseredomain.de
hoffe das reicht als info
Damit tut der Login am Customer Portal:
(wie muss man das umscheiben fuer das adminportal ???)
# ---------------------------------------------------- #
# Customer Authentifizirung via LDAP #
# ---------------------------------------------------- #
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'adssrv.unseredomain.de';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=unseredomain,dc=de';
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'passowrd';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
#$Self->{'Customer::AuthModule::LDAP::GroupDN'} = '';
$Self->{'Customer::AuthModule::LDAP::Params'} = {
# port => 389,
# timeout => 120,
# async => 0,
# version => 3,
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
};
# ---------------------------------------------------- #
# customer Auth #
# ---------------------------------------------------- #
# CustomerUser
# (customer user ldap backend and settings)
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => 'adssrv.unseredomain.de',
# ldap base dn
BaseDN => 'dc=unseredomain, dc=de',
# search scope (one|sub)
SSCOPE => 'sub',
UserDN => 'view@unseredomain.de',
UserPw => 'password',
AlwaysFilter => '',
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-1',
},
# customer uniq id
CustomerKey => 'sAMAccountName',
# customer #
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown, required, storage-type
#[ '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', 'sAMAccountName', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
#[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
Danke
ds2k5
(wie muss man das umscheiben fuer das adminportal ???)
# ---------------------------------------------------- #
# Customer Authentifizirung via LDAP #
# ---------------------------------------------------- #
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'adssrv.unseredomain.de';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=unseredomain,dc=de';
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'passowrd';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
#$Self->{'Customer::AuthModule::LDAP::GroupDN'} = '';
$Self->{'Customer::AuthModule::LDAP::Params'} = {
# port => 389,
# timeout => 120,
# async => 0,
# version => 3,
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
};
# ---------------------------------------------------- #
# customer Auth #
# ---------------------------------------------------- #
# CustomerUser
# (customer user ldap backend and settings)
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => 'adssrv.unseredomain.de',
# ldap base dn
BaseDN => 'dc=unseredomain, dc=de',
# search scope (one|sub)
SSCOPE => 'sub',
UserDN => 'view@unseredomain.de',
UserPw => 'password',
AlwaysFilter => '',
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-1',
},
# customer uniq id
CustomerKey => 'sAMAccountName',
# customer #
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown, required, storage-type
#[ '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', 'sAMAccountName', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
#[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
Danke
ds2k5
hallo wecky,
danke fuer den TIP also so:
# ---------------------------------------------------- #
# Admin Authentifizirung via LDAP #
# ---------------------------------------------------- #
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'adssrv.unseredomain.de';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=unseredomain,dc=de';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'passowrd';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
#$Self->{'AuthModule::LDAP::GroupDN'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
# port => 389,
# timeout => 120,
# async => 0,
# version => 3,
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
};
# ---------------------------------------------------- #
# Admin Auth #
# ---------------------------------------------------- #
# AdminUser
$Self->{User} = {
Module => 'Kernel::System::User::LDAP',
Params => {
# ldap host
Host => 'adssrv.unseredomain.de',
# ldap base dn
BaseDN => 'dc=unseredomain, dc=de',
# search scope (one|sub)
SSCOPE => 'sub',
UserDN => 'view@unseredomain.de',
UserPw => 'password',
AlwaysFilter => '',
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-1',
},
# customer uniq id
CustomerKey => 'sAMAccountName',
# admin #
ID => 'mail',
UserListFields => ['sAMAccountName', 'cn', 'mail'],
UserSearchFields => ['sAMAccountName', 'cn', 'mail'],
UserSearchPrefix => '',
UserSearchSuffix => '*',
UserSearchListLimit => 250,
UserPostMasterSearchFields => ['mail'],
UserNameFields => ['givenname', 'sn'],
Map => [
# note: Login, Email and ID needed!
# var, frontend, storage, shown, required, storage-type
#[ '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', 'sAMAccountName', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
#[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
Ich kommem im moment nicht an das System
werde es aber naechste Woche testen !
Danke
ds2k5
danke fuer den TIP also so:
# ---------------------------------------------------- #
# Admin Authentifizirung via LDAP #
# ---------------------------------------------------- #
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'adssrv.unseredomain.de';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=unseredomain,dc=de';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'passowrd';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
#$Self->{'AuthModule::LDAP::GroupDN'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
# port => 389,
# timeout => 120,
# async => 0,
# version => 3,
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
};
# ---------------------------------------------------- #
# Admin Auth #
# ---------------------------------------------------- #
# AdminUser
$Self->{User} = {
Module => 'Kernel::System::User::LDAP',
Params => {
# ldap host
Host => 'adssrv.unseredomain.de',
# ldap base dn
BaseDN => 'dc=unseredomain, dc=de',
# search scope (one|sub)
SSCOPE => 'sub',
UserDN => 'view@unseredomain.de',
UserPw => 'password',
AlwaysFilter => '',
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-1',
},
# customer uniq id
CustomerKey => 'sAMAccountName',
# admin #
ID => 'mail',
UserListFields => ['sAMAccountName', 'cn', 'mail'],
UserSearchFields => ['sAMAccountName', 'cn', 'mail'],
UserSearchPrefix => '',
UserSearchSuffix => '*',
UserSearchListLimit => 250,
UserPostMasterSearchFields => ['mail'],
UserNameFields => ['givenname', 'sn'],
Map => [
# note: Login, Email and ID needed!
# var, frontend, storage, shown, required, storage-type
#[ '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', 'sAMAccountName', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
#[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
Ich kommem im moment nicht an das System
werde es aber naechste Woche testen !
Danke
ds2k5
Hm
für die Anmeldung reicht eigentlich der Teil unter
-Admin Authentifizirung via LDAP-
Das darunter ist bei den Kunden interessant um z.B. bei der Erstellung eines Tickes den Kunden aus demk AD auswählen zu können.
Für die Agents (Benutzer) ist das wohl nirgends vorgesehen, weil die Agents aus der internen Benutzertabelle genommen werden. Der Eintrag dürfte also sinnlos sein.
Die Agents muss du ganz normal im Admin-Bereich unter Benutzer anlegen,
der Benutzername muss der Kontoname im AD sein,
die Emailadressen ebenfalls und
das Passwort dabei freilassen
Bei der Anmeldung kann man sich dann mit Konto und dem aktuelle Passwort aus dem AD anmelden.
Ein Single-Sign on habe ich leider mit dem Apache nicht zustande bekommen, da ich den Benutzernamen des am Browser angemeldeten
Benutzers einfach nicht in den Apache bekommen. Mit dem IIS ist das einfach, mit dem Apache gehts wohl nicht.
hier hatte ich meine conf mal abgelegt (geht an W2k AD)
http://www.otrs-forum.de/viewtopic.php?t=576
für die Anmeldung reicht eigentlich der Teil unter
-Admin Authentifizirung via LDAP-
Das darunter ist bei den Kunden interessant um z.B. bei der Erstellung eines Tickes den Kunden aus demk AD auswählen zu können.
Für die Agents (Benutzer) ist das wohl nirgends vorgesehen, weil die Agents aus der internen Benutzertabelle genommen werden. Der Eintrag dürfte also sinnlos sein.
Die Agents muss du ganz normal im Admin-Bereich unter Benutzer anlegen,
der Benutzername muss der Kontoname im AD sein,
die Emailadressen ebenfalls und
das Passwort dabei freilassen
Bei der Anmeldung kann man sich dann mit Konto und dem aktuelle Passwort aus dem AD anmelden.
Ein Single-Sign on habe ich leider mit dem Apache nicht zustande bekommen, da ich den Benutzernamen des am Browser angemeldeten
Benutzers einfach nicht in den Apache bekommen. Mit dem IIS ist das einfach, mit dem Apache gehts wohl nicht.
hier hatte ich meine conf mal abgelegt (geht an W2k AD)
http://www.otrs-forum.de/viewtopic.php?t=576
Ubuntu VM, Apache2, Mysql 5.0, Otrs 3.05, Ldap an AD
hallo wecky,
habe es mit deinem beispiel probiert:
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'adssrv.unseredomain.de';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=unseredomain,DC=de';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';
Aber beim Login als "Admin" erhalte ich nur die Fehlermeldung:
Panic! No UserData!!!
Was mach ich falsch ?
Was mir da noch auffaellt ist das
/var/log/messages
Nov 2 16:03:10 otrs OTRS-CGI-10[2486]: [Notice][Kernel::System::User::GetUserData] Panic! No UserData for user: 'meinuser'!!!
Nov 2 16:03:10 otrs OTRS-CGI-10[2486]: [Error][Kernel::System::User::UserAdd][Line:225]: Email address (meinuser@altedomain.de) not valid (invalid meinuser@altedomain.de) (no mail exchanger (mx) found!)! )!
Wir habe da ne menge ALIASe bzw. mehrere eMailAdressen ... kann das das Problem sein ?
/etc/httpd/error_log
[Thu Nov 2 16:01:50 2006] -e: DBI::db=HASH(0xb8cd67c)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at /opt/otrs//Kernel/System/DB.pm line 219.
ERROR: OTRS-CGI-10 Perl: 5.8.8 OS: linux Time: Thu Nov 2 16:03:10 2006
Message: Email address (meinuser@altedomain.de) not valid (invalid meinuser@altedomain.de (no mail exchanger (mx) found!)! )!
Traceback (2486):
Module: Kernel::System::User::UserAdd (v1.55) Line: 225
Module: Kernel::System::Auth::LDAP::Auth (v1.26) Line: 289
Module: Kernel::System::Auth::Auth (v1.20) Line: 116
Module: Kernel::System::Web::InterfaceAgent::Run (v1.14) Line: 214
Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler (v) Line: 47
Module: (eval) (v1.81) Line: 203
Module: ModPerl::RegistryCooker::run (v1.81) Line: 203
Module: ModPerl::RegistryCooker::default_handler (v1.81) Line: 169
Module: ModPerl::Registry::handler (v1.99) Line: 30
ERROR: OTRS-CGI-10 Perl: 5.8.8 OS: linux Time: Thu Nov 2 16:03:10 2006
Message: Can't create user 'meinuser' (CN=meinuser,OU=ABT1,OU=Users,OU=IT,OU=NL1,DC=unseredomain,DC=de) in RDBMS!
Traceback (2486):
Module: Kernel::System::Auth::LDAP::Auth (v1.26) Line: 326
Module: Kernel::System::Auth::Auth (v1.20) Line: 116
Module: Kernel::System::Web::InterfaceAgent::Run (v1.14) Line: 214
Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler (v) Line: 47
Module: (eval) (v1.81) Line: 203
Module: ModPerl::RegistryCooker::run (v1.81) Line: 203
Module: ModPerl::RegistryCooker::default_handler (v1.81) Line: 169
Module: ModPerl::Registry::handler (v1.99) Line: 30
[Thu Nov 2 16:03:10 2006] -e: DBI::db=HASH(0xb8c0964)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at /opt/otrs//Kernel/System/DB.pm line 219.
Danke
ds2k5
habe es mit deinem beispiel probiert:
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'adssrv.unseredomain.de';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=unseredomain,DC=de';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'view@unseredomain.de';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';
Aber beim Login als "Admin" erhalte ich nur die Fehlermeldung:
Panic! No UserData!!!
Was mach ich falsch ?
Was mir da noch auffaellt ist das
/var/log/messages
Nov 2 16:03:10 otrs OTRS-CGI-10[2486]: [Notice][Kernel::System::User::GetUserData] Panic! No UserData for user: 'meinuser'!!!
Nov 2 16:03:10 otrs OTRS-CGI-10[2486]: [Error][Kernel::System::User::UserAdd][Line:225]: Email address (meinuser@altedomain.de) not valid (invalid meinuser@altedomain.de) (no mail exchanger (mx) found!)! )!
Wir habe da ne menge ALIASe bzw. mehrere eMailAdressen ... kann das das Problem sein ?
/etc/httpd/error_log
[Thu Nov 2 16:01:50 2006] -e: DBI::db=HASH(0xb8cd67c)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at /opt/otrs//Kernel/System/DB.pm line 219.
ERROR: OTRS-CGI-10 Perl: 5.8.8 OS: linux Time: Thu Nov 2 16:03:10 2006
Message: Email address (meinuser@altedomain.de) not valid (invalid meinuser@altedomain.de (no mail exchanger (mx) found!)! )!
Traceback (2486):
Module: Kernel::System::User::UserAdd (v1.55) Line: 225
Module: Kernel::System::Auth::LDAP::Auth (v1.26) Line: 289
Module: Kernel::System::Auth::Auth (v1.20) Line: 116
Module: Kernel::System::Web::InterfaceAgent::Run (v1.14) Line: 214
Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler (v) Line: 47
Module: (eval) (v1.81) Line: 203
Module: ModPerl::RegistryCooker::run (v1.81) Line: 203
Module: ModPerl::RegistryCooker::default_handler (v1.81) Line: 169
Module: ModPerl::Registry::handler (v1.99) Line: 30
ERROR: OTRS-CGI-10 Perl: 5.8.8 OS: linux Time: Thu Nov 2 16:03:10 2006
Message: Can't create user 'meinuser' (CN=meinuser,OU=ABT1,OU=Users,OU=IT,OU=NL1,DC=unseredomain,DC=de) in RDBMS!
Traceback (2486):
Module: Kernel::System::Auth::LDAP::Auth (v1.26) Line: 326
Module: Kernel::System::Auth::Auth (v1.20) Line: 116
Module: Kernel::System::Web::InterfaceAgent::Run (v1.14) Line: 214
Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler (v) Line: 47
Module: (eval) (v1.81) Line: 203
Module: ModPerl::RegistryCooker::run (v1.81) Line: 203
Module: ModPerl::RegistryCooker::default_handler (v1.81) Line: 169
Module: ModPerl::Registry::handler (v1.99) Line: 30
[Thu Nov 2 16:03:10 2006] -e: DBI::db=HASH(0xb8c0964)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at /opt/otrs//Kernel/System/DB.pm line 219.
Danke
ds2k5
Hi,
der Admin wird sich nicht anmelden lassen, weil er in deinem AD nicht vorhanden ist. (No User Data) oder was auch Probleme gibt, er hat keine Emailadresse.
Irgendwo im Forum / Anleitung gibts auch einen Beitrag dazu.
Ich hatte mich mit meiner AD - Kennung VOR der Aktivierung der LDAP-Authentifizierung als Agent mit allen Rechten eingetragen und seit dem mit meiner "normalen" Kennung gearbeitet.
Zu der Email-Adresse:
Wenn du mit den Ad-Tools dein Konto dir anschaust, sieht du unter Email-Adressen dann mehrere. Es gibt aber nur eine Default-Adresse, die in der Regel fett oder in großen Buchstaben abgezeigt wird.
Ist aber fürs Anmelden egal, was in OTRS eingetragen ist. Im Zweifelsfall gehen die Benachrichtigungen dann "nur" ins Leere.
Sonst alles richtig eingetragen?
Die MX-Meldung (Mail Exchange) kenne ich so nicht, er hat wohl ein Proble mit @altedomain.de nicht (gültige Adresse?).
der Admin wird sich nicht anmelden lassen, weil er in deinem AD nicht vorhanden ist. (No User Data) oder was auch Probleme gibt, er hat keine Emailadresse.
Irgendwo im Forum / Anleitung gibts auch einen Beitrag dazu.
Ich hatte mich mit meiner AD - Kennung VOR der Aktivierung der LDAP-Authentifizierung als Agent mit allen Rechten eingetragen und seit dem mit meiner "normalen" Kennung gearbeitet.
Zu der Email-Adresse:
Wenn du mit den Ad-Tools dein Konto dir anschaust, sieht du unter Email-Adressen dann mehrere. Es gibt aber nur eine Default-Adresse, die in der Regel fett oder in großen Buchstaben abgezeigt wird.
Ist aber fürs Anmelden egal, was in OTRS eingetragen ist. Im Zweifelsfall gehen die Benachrichtigungen dann "nur" ins Leere.
Sonst alles richtig eingetragen?
Die MX-Meldung (Mail Exchange) kenne ich so nicht, er hat wohl ein Proble mit @altedomain.de nicht (gültige Adresse?).
Ubuntu VM, Apache2, Mysql 5.0, Otrs 3.05, Ldap an AD
hallo wecky,
>der Admin wird sich nicht anmelden lassen, weil er in deinem AD nicht >vorhanden ist. (No User Data) oder was auch Probleme gibt, er hat keine >Emailadresse.
es war aber mein user aus der AD mit dem ich mich anmelden wollte !
>Wenn du mit den Ad-Tools dein Konto dir anschaust
haben tu ich die leider nicht !
kann ich das mit ldapsearch auch rausfinden ?
>Ist aber fürs Anmelden egal, was in OTRS eingetragen ist. Im Zweifelsfall >gehen die Benachrichtigungen dann "nur" ins Leere.
OK, aber geht nicht !
>Sonst alles richtig eingetragen?
ich denke schon
>Die MX-Meldung (Mail Exchange) kenne ich so nicht, er hat wohl ein >Proble mit @altedomain.de nicht (gültige Adresse?).
ja, die alte domain geht auch noch, sprich ich bekomme mails
unter dieser adresse !
danke
ds2k5
>der Admin wird sich nicht anmelden lassen, weil er in deinem AD nicht >vorhanden ist. (No User Data) oder was auch Probleme gibt, er hat keine >Emailadresse.
es war aber mein user aus der AD mit dem ich mich anmelden wollte !
>Wenn du mit den Ad-Tools dein Konto dir anschaust
haben tu ich die leider nicht !
kann ich das mit ldapsearch auch rausfinden ?
>Ist aber fürs Anmelden egal, was in OTRS eingetragen ist. Im Zweifelsfall >gehen die Benachrichtigungen dann "nur" ins Leere.
OK, aber geht nicht !
>Sonst alles richtig eingetragen?
ich denke schon
>Die MX-Meldung (Mail Exchange) kenne ich so nicht, er hat wohl ein >Proble mit @altedomain.de nicht (gültige Adresse?).
ja, die alte domain geht auch noch, sprich ich bekomme mails
unter dieser adresse !
danke
ds2k5
Ist Benutzer aus dem AD auch als Agent im OTRS angelegt?
Ich hab ein kleines script in php dafür (perl kenn ich mich nich so mit aus)
musst aber bei php die ldap-extension laufen haben.
Damit kann man zumindest die benutzerwerte abfragen und die prinzipielle Funktion der AD-Abfrage mit den verwendeten Werten testen.
Die reihenfolge und Anzahl der Werte eines Benutzerkontos im AD sind nicht bei jedem gleich.
Bei mir kommt dann sowas:
Ergebnis Abfrage samaccountname=admin
---------------------------------Arraywert 0 ------------------------------------------------------------
Value: 0= homemdb= CN=Mailbox Store,CN=First Storage ....
Value: 1= manager= CN=name\, fred....
Value: 2= memberof= CN=otrs,OU=Anwendungen,OU=Gruppen,DC=xyz,DC=de
Value: 3= authorigbl= CN=verteiler,OU=Verteiler,OU=Gruppen,DC=xyz,DC=de
Value: 4= accountexpires= 0
Value: 5= streetaddress= Ring 1
Value: 6= badpasswordtime= 12808477
Value: 7= badpwdcount= 0
Value: 8= codepage= 0
Value: 9= info= keine Notes
Value: 10= cn= Testmann, Admin
.....
Value: 19= mail= admin.testmann@xyz.de
....
Ich hab ein kleines script in php dafür (perl kenn ich mich nich so mit aus)
musst aber bei php die ldap-extension laufen haben.
Damit kann man zumindest die benutzerwerte abfragen und die prinzipielle Funktion der AD-Abfrage mit den verwendeten Werten testen.
Code: Select all
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>LDAP-Abfrage mini</title>
</head>
<body>
<?php
//suchen nach
$search="samaccountname=admin";
//parameter
//ad benutzer fuer abfrage mit Domain davor !
$ldapuser = "domain\service.ldap";
$ldappass = "geheim"; // entsprechendes password
//ldap-Server, Domain-Controller
$ldapconn=ldap_connect( "namedomaincontroller");
//Domain
$dn="DC=xyz,DC=de";
$OU=""; //weitere Einschaenkung z.B. benutzer OU
//verarbeitung
if ( isset($ou) && !empty($ou) ) {
//OU= am anfang von OU-String?
if (strtolower(substr($ou,0,3)) <> "ou=") {
$dn= "OU=".$ou.",".$dn;
} else
$dn= $ou.",".$dn;
}
if (!$ldapconn) { echo "Fehler LDAP-Connect"; } //return "LDAP_ERROR_CONN";}
$ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass);
if (!$ldapbind) { echo "Fehler LDAP bind"; }//{ return "LDAP_ERROR_BIND"; }
$sr=ldap_search($ldapconn,$dn,$search);
//gefundenen Einträge in Array zurueck
$info = ldap_get_entries($ldapconn, $sr);
echo "Ergebnis Abfrage ", $search ,"<br />";
//Alle Einträge zeigen
for ($i=0;$i<count($info)-1;$i++) {
echo "<br /><br />---------------------------------Arraywert ".$i." ------------------------------------------------------------<br /><br />";
$k=0;
while ($info[$i][$k]<> "") {
$szDummy=$info[$i][$k];
print "Value: ".$k."= ". $info[$i][$k] ."= ". $info[$i][$szDummy][0]."<br />";
$k=$k+1;
};
}
ldap_close($ldapconn);
?>
</body>
</html>
Bei mir kommt dann sowas:
Ergebnis Abfrage samaccountname=admin
---------------------------------Arraywert 0 ------------------------------------------------------------
Value: 0= homemdb= CN=Mailbox Store,CN=First Storage ....
Value: 1= manager= CN=name\, fred....
Value: 2= memberof= CN=otrs,OU=Anwendungen,OU=Gruppen,DC=xyz,DC=de
Value: 3= authorigbl= CN=verteiler,OU=Verteiler,OU=Gruppen,DC=xyz,DC=de
Value: 4= accountexpires= 0
Value: 5= streetaddress= Ring 1
Value: 6= badpasswordtime= 12808477
Value: 7= badpwdcount= 0
Value: 8= codepage= 0
Value: 9= info= keine Notes
Value: 10= cn= Testmann, Admin
.....
Value: 19= mail= admin.testmann@xyz.de
....
Ubuntu VM, Apache2, Mysql 5.0, Otrs 3.05, Ldap an AD
Hm, wenn du sonst keine Meldung bekommts, sollte ldap an sich funtionieren.
Ist der Servername falsch kommt bei mir
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in D:\intranet\postnuke76\small.php on line 37
Fehler LDAP bind usw.
Trage ich den falschen Abfragebenutzer ein kommt gar nix, nur die Eieruhr läuft.
Trage ich für samaccountname einen Namen ein den es nicht gibt, kommt das was du oben als Meldung bekommen hast, also würde ich sagen, woimmer du die Abfrage machst gibt es den abgefragten samaccount nicht.
Den Abfragenamen ($ldapuser) mit vorangestellter Domain korrkt angegeben?
Der samaccountname muss nicht identisch mit den Anzeigename im AD sein
Ändere mal die Suchen-Abfrage
z.B. in
$search="cn=admin*";
Ist der Servername falsch kommt bei mir
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in D:\intranet\postnuke76\small.php on line 37
Fehler LDAP bind usw.
Trage ich den falschen Abfragebenutzer ein kommt gar nix, nur die Eieruhr läuft.
Trage ich für samaccountname einen Namen ein den es nicht gibt, kommt das was du oben als Meldung bekommen hast, also würde ich sagen, woimmer du die Abfrage machst gibt es den abgefragten samaccount nicht.
Den Abfragenamen ($ldapuser) mit vorangestellter Domain korrkt angegeben?
Der samaccountname muss nicht identisch mit den Anzeigename im AD sein
Ändere mal die Suchen-Abfrage
z.B. in
$search="cn=admin*";
Ubuntu VM, Apache2, Mysql 5.0, Otrs 3.05, Ldap an AD