I've been configuring OTRS 4.0.8 for a few weeks and almost everything is working good so far.
My agents are registered locally within OTRS and my customers are held in LDAP (something like 30 thousand customers entries).
The authentication works just fine. The problem I'm having is that for some queues, the customers just can't see their own tickets. I want them to view all tickets that are related to them. I know it's not exactly a problem with the ticket itself because just switching to queues associated with some other groups get they get visible.
I just want them to have access to ALL the queues, and I thought it would be the default configuration (as for the first 4 groups I created it worked perfectly without modifications). But for the queues I associated with groups created after that, they just didn't work. As I was looking for permission issues, I found out I should enable CustomerGroupSupport and assing all groups in CustomerGroupAlwaysGroups.
It didn't quite work and after few days searching I figured out that it didn't work for LDAP auth users. And I got to this solution: insert all groups in AuthSyncModule::LDAP::UserSyncInitialGroups. That also didn't work and today I saw crythias saying in another thread "Customer groups aren't supported through LDAP (At least, not historically.)".
And now I just don't know what to do. If the queue is associated to some groups (the first 4 or 5 I created) it works fine, for newly created it just don't work, and it doesn't make any sense to me...
I summarized the most important things I've done but I've tried a lot in the meantime. It seemed to me that simply getting customers to view their tickets regardless of the queue would be easy but I'm not sure what to do anymore. Could anyone help?
Thanks in advance!
Here follows a part of the configuration
Code: Select all
$Self - > {CustomerGroupSupport} = 1;
$Self - > {CustomerGroupAlwaysGroups} = ['stats', 'itsm-service', 'itsm-configitem', 'itsm-change-manager', 'itsm-change-builder', 'itsm-change', 'faq_admin', 'faq_approval', 'admin', 'users', 'faq', 'ServiceDesk', 'Infra'];
#LDAP SETTINGS
$Self - > {'AuthModule::UseSyncBackend'} = 'AuthSyncBackend';
$Self - > {'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self - > {'AuthSyncModule::LDAP::Charset'} = 'iso-8859-1';
$Self - > {'AuthSyncModule::LDAP::UserSyncGroupsDefinition'} = {
'ou=people,dc=X,dc=X' => {
'ServiceDesk' => {
rw => 1,
ro => 1,
},
'Infra' => {
rw => 1,
ro => 1,
},
'users' => {
rw => 1,
ro => 1,
},
}
};
$Self - > {'AuthSyncModule::LDAP::UserSyncInitialGroups'} = ['stats', 'itsm-service', 'itsm-configitem', 'itsm-change-manager', 'itsm-change-builder', 'itsm-change', 'faq_admin', 'faq_approval', 'admin', 'users', 'faq', 'ServiceDesk', 'Infra', ];
#Enable LDAP authentication for Customers / Users
$Self - > {'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self - > {'Customer::AuthModule::LDAP::Host'} = '-';
$Self - > {'Customer::AuthModule::LDAP::BaseDN'} = 'ou=people,dc=X,dc=X';
$Self - > { 'Customer::AuthModule::LDAP::UID'} = 'uid';
#$Self - > {'Customer::AuthModule::LDAP::UserAttr'} = 'mail';
#The following is valid but would only be necessary if the
#anonymous user do NOT have permission to read from the LDAP tree
$Self - > {'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=X,dc=X,dc=X';
$Self - > {'Customer::AuthModule::LDAP::SearchUserPw'} = 'X';
$Self - > {'Customer::AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};
$Self - > {'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
$Self - > {CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => '-',
BaseDN => 'ou=people,dc=X,dc=X',
SSCOPE => 'sub',
UserDN => 'cn=X,dc=X,dc=X',
UserPw => 'X',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
},
CustomerKey => 'uid',
CustomerID => 'uid',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['cn', 'mail', 'uid'],
CustomerUserPostMasterSearchFields => ['cn', 'mail'],
CustomerUserNameFields => ['cn', 'sn'],
Map => [
['UserFirstname', 'Firstname', 'cn', 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', '', 0],
],
};