Hi Alberto,

For LDAP authentication you need to differentiate between who are agents and
who are customers. This can be accomplished by group membership. I've had a
look at your code which includes:

  # Check if the user is allowed to auth in a posixGroup

    # (e. g. user needs to be in a group xyz to use otrs)

#    $Self->{'AuthModule::LDAP::GroupDN'} = ';

#    $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';

    # for ldap posixGroups objectclass (just uid)

#    $Self->{'AuthModule::LDAP::UserAttr'} = 'sAMAccountName';

    # for non ldap posixGroups objectclass (with full user dn)

#   $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';


All your group based configuration is commented out. Below is the same
extract from my config (obvious information omitted.


    # Check if the user is allowed to auth in a posixGroup
    # (e. g. user needs to be in a group xyz to use otrs)
    $Self->{'AuthModule::LDAP::GroupDN'} =
'cn=OTRS_Agents,ou=OTRS_Groups,dc=companyname,dc=local';
    $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
    # for ldap posixGroups objectclass (just uid)
    #$Self->{'AuthModule::LDAP::UserAttr'} = 'UID';
    # for non ldap posixGroups objectclass (with full user dn)
    $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
In the example above, *only* members of the OTRS_Agents group can use the
agent interface.

I hope this answers your question.

Regards,

David

On Mon, Feb 22, 2010 at 7:29 AM, Alberto Aldrigo <
[email protected]> wrote:

>  Hi all,
>
>
>
> I’m trying to configure OTRS 2.4.7 for users in my company.
>
> I want them to authenticate using Active Directory as customer user, but
> each time they try to enter in http://mysite/otrs/Customer.pl they enter
> as agents.
>
> I can’t understand what’s wrong in my Config.pm, can you please help me?
>
> Thenks
>
> * *
>
> *Alberto Aldrigo*
>
> * *
>
>
>
> My config.pm:
>
>
>
> sub Load {
>
>     my $Self = shift;
>
>     # ---------------------------------------------------- #
>
>     # ---------------------------------------------------- #
>
>     #                                                      #
>
>     #         Start of your own config options!!!          #
>
>     #                                                      #
>
>     # ---------------------------------------------------- #
>
>     # ---------------------------------------------------- #
>
>
>
>     # ---------------------------------------------------- #
>
>     # database settings                                    #
>
>     # ---------------------------------------------------- #
>
>     # DatabaseHost
>
>     # (The database host.)
>
>     $Self->{DatabaseHost} = $dbserver || 'localhost';
>
>     # Database
>
>     # (The database name.)
>
>     $Self->{Database} = $dbname || 'otrs';
>
>     # DatabaseUser
>
>     # (The database user.)
>
>     $Self->{DatabaseUser} = $dbuser || 'otrs';
>
>     # DatabasePw
>
>     # (The password of database user. You also can use bin/CryptPassword.pl
>
>     # for crypted passwords.)
>
>     $Self->{DatabasePw} = $dbpass;
>
>     # DatabaseDSN
>
>     # (The database DSN for MySQL ==> more: "man DBD::mysql")
>
>     $Self->{DatabaseDSN} =
> "$dsn=$Self->{Database};host=$Self->{DatabaseHost};port=$dbport;";
>
>
>
>     # (The database DSN for PostgreSQL ==> more: "man DBD::Pg")
>
>     # if you want to use a local socket connection
>
> #    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
>
>     # if you want to use a tcpip connection
>
> #    $Self->{DatabaseDSN} =
> "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";
>
>
>
>     # ---------------------------------------------------- #
>
>     # fs root directory
>
>     # ---------------------------------------------------- #
>
>     $Self->{Home} = '/usr/share/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';
>
>     $Self->{'AuthModule::LDAP::Host'} = ‘server';
>
>     $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=company, dc=local';
>
>     $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
>
>
>
>     # Check if the user is allowed to auth in a posixGroup
>
>     # (e. g. user needs to be in a group xyz to use otrs)
>
> #    $Self->{'AuthModule::LDAP::GroupDN'} = ';
>
> #    $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
>
>     # for ldap posixGroups objectclass (just uid)
>
> #    $Self->{'AuthModule::LDAP::UserAttr'} = 'sAMAccountName';
>
>     # for non ldap posixGroups objectclass (with full user dn)
>
> #   $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
>
>
>
>     # The following is valid but would only be necessary if the
>
>     # anonymous user do NOT have permission to read from the LDAP tree
>
>     $Self->{'AuthModule::LDAP::SearchUserDN'} =
> 'CN=Device,OU=UO-CED,OU=UO-HQ-SITE,DC=company,DC=local';
>
>     $Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';
>
>
>
>     # in case you want to add always one filter to each ldap query, use
>
>     # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter =>
> '(objectclass=user)'
>
> #    $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
>
>
>
>     # in case you want to add a suffix to each login name, then
>
>     # you can use this option. e. g. user just want to use user but
>
>     # in your ldap directory exists u...@domain.
>
>     #$Self->{'AuthModule::LDAP::UserSuffix'} = '';
>
>
>
>
>
>    # Now sync data with OTRS DB
>
>     $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
>
>     $Self->{'AuthSyncModule::LDAP::Host'} = 'server';
>
>     $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=company, dc=local';
>
>     $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
>
>     $Self->{'AuthSyncModule::LDAP::SearchUserDN'} =
> 'CN=Device,OU=UO-CED,OU=UO-HQ-SITE,DC=company,DC=local';
>
>     $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password';
>
>     $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
>
>        # DB -> LDAP
>
>         UserFirstname => 'givenName',
>
>         UserLastname  => 'sn',
>
>         UserEmail     => 'mail',
>
>     };
>
>
>
>
>
>     # AuthSyncModule::LDAP::UserSyncInitialGroups
>
>     # (sync following group with rw permission after initial create of
> first agent
>
>     # login)
>
>     $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
>
>         'users',
>
>     ];
>
>     # CustomerUser
>
>     # (customer user ldap backend and settings)
>
>     $Self->{CustomerUser} = {
>
>             Name => 'Active Directory',
>
>         Module => 'Kernel::System::CustomerUser::LDAP',
>
>         Params => {
>
>             Host => 'server',
>
>             BaseDN => 'OU=UO-HQ-SITE,DC=company,DC=local',
>
>             SSCOPE => 'sub',
>
>             UserDN => '[email protected]',
>
>             UserPw => ‘password',
>
>         },
>
>             CustomerKey => 'sAMAccountName',
>
>             CustomerID => 'sAMAccountName',
>
>             CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
>
>             CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
>
>             CustomerUserPostMasterSearchFields => ['mail'],
>
>             CustomerUserNameFields => ['givenname', 'sn'],
>
>         Map => [
>
>            # note: Login, Email and CustomerID are mandatory!
>
>             # var, frontend, storage, shown (1=always,2=lite), required,
> storage-type, http-link, readonly
>
>  #            [ 'UserSalutation', 'Title',      'title',           1, 0,
> 'var', '', 0 ],
>
>             [ 'UserFirstname',  'Firstname',  'givenname',       1, 1,
> 'var', '', 0 ],
>
>             [ 'UserLastname',   'Lastname',   'sn',              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 ],
>
>  #            [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1,
> 0, 'var', '', 0 ],
>
>  #            [ 'UserPhone',      'Phone',      'telephonenumber', 1, 0,
> 'var', '', 0 ],
>
>  #            [ 'UserAddress',    'Address',    'postaladdress',   1, 0,
> 'var', '', 0 ],
>
>  #            [ 'UserComment',    'Comment',    'description',     1, 0,
> 'var', '', 0 ],
>
>         ],
>
>     };
>
>     # ---------------------------------------------------- #
>
>     # switch off the web based installer for the Debian package
>
>     $Self->{SecureMode} = 1;
>
>
>
>     # ---------------------------------------------------- #
>
>     # data inserted by installer                           #
>
>     # ---------------------------------------------------- #
>
>     # $DIBI$
>
>
>
>     # ---------------------------------------------------- #
>
>     # ---------------------------------------------------- #
>
>     #                                                      #
>
>     #           End of your own config options!!!          #
>
>     #                                                      #
>
>     # ---------------------------------------------------- #
>
>     # ---------------------------------------------------- #
>
> }
>
> ---------------------------------------------------------------------
> OTRS mailing list: otrs - Webpage: http://otrs.org/
> Archive: http://lists.otrs.org/pipermail/otrs
> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
>
> NEW! ENTERPRISE SUBSCRIPTION - Get more information NOW!
> http://www.otrs.com/en/support/enterprise-subscription/
>
---------------------------------------------------------------------
OTRS mailing list: otrs - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs

NEW! ENTERPRISE SUBSCRIPTION - Get more information NOW!
http://www.otrs.com/en/support/enterprise-subscription/

Reply via email to