Problem auth with win2k3 AD

Moderator: crythias

Locked
zloidemon
Znuny newbie
Posts: 2
Joined: 15 Feb 2011, 07:54
Znuny Version: 3.0.5

Problem auth with win2k3 AD

Post by zloidemon »

Hi everybody!

I'm installed the otrs-3.0.5 on a freebsd box. I've tried using it's with LDAP auth win2k3 AD.

I have a web auth error:

Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid.

I've see is at a console messages.

Code: Select all

 ERROR: OTRS-CGI-10 Perl: 5.10.1 OS: freebsd Time: Tue Feb 15 15:55:27 2011

 Message: Need UserEmail!

 Traceback (68867): 
   Module: Kernel::System::User::UserAdd (v1.111) Line: 330
   Module: Kernel::System::Auth::Sync::LDAP::Sync (v1.10) Line: 254
   Module: Kernel::System::Auth::Auth (v1.49) Line: 193
   Module: Kernel::System::Web::InterfaceAgent::Run (v1.58) Line: 201
   Module: /usr/local/otrs/bin/fcgi-bin/index.pl (v1.3) Line: 54

ERROR: OTRS-CGI-10 Perl: 5.10.1 OS: freebsd Time: Tue Feb 15 15:55:27 2011

 Message: Can't create user 'zloidemon' (CN=Гвоздиков Вениамин Владимирович,OU=users,OU=administrators,DC=my,DC=office,DC=local) in RDBMS!

 Traceback (68867): 
   Module: Kernel::System::Auth::Sync::LDAP::Sync (v1.10) Line: 262
   Module: Kernel::System::Auth::Auth (v1.49) Line: 193
   Module: Kernel::System::Web::InterfaceAgent::Run (v1.58) Line: 201
   Module: /usr/local/otrs/bin/fcgi-bin/index.pl (v1.3) Line: 54

ERROR: OTRS-CGI-10 Perl: 5.10.1 OS: freebsd Time: Tue Feb 15 15:55:27 2011

 Message: No UserID found for 'zloidemon'!

 Traceback (68867): 
   Module: Kernel::System::User::UserLookup (v1.111) Line: 746
   Module: Kernel::System::Auth::Auth (v1.49) Line: 197
   Module: Kernel::System::Web::InterfaceAgent::Run (v1.58) Line: 201
   Module: /usr/local/otrs/bin/fcgi-bin/index.pl (v1.3) Line: 54

ERROR: OTRS-CGI-10 Perl: 5.10.1 OS: freebsd Time: Tue Feb 15 15:55:27 2011

 Message: No UserID found for 'zloidemon'!

 Traceback (68867): 
   Module: Kernel::System::User::UserLookup (v1.111) Line: 746
   Module: Kernel::System::Auth::Auth (v1.49) Line: 258
   Module: Kernel::System::Web::InterfaceAgent::Run (v1.58) Line: 201
   Module: /usr/local/otrs/bin/fcgi-bin/index.pl (v1.3) Line: 54
My config

Code: Select all

# --
# Kernel/Config.pm - Config file for OTRS kernel
# Copyright (C) 2001-2010 xxx, http://otrs.org/
# --
# $Id: Config.pm.dist,v 1.23 2010/01/13 22:25:00 martin Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --
#  Note:
#
#  -->> OTRS does have a lot of config settings. For more settings
#       (Notifications, Ticket::ViewAccelerator, Ticket::NumberGenerator,
#       LDAP, PostMaster, Session, Preferences, ...) see
#       Kernel/Config/Defaults.pm and copy your wanted lines into "this"
#       config file. This file will not be changed on update!
#
# --

package Kernel::Config;

sub Load {
    my $Self = shift;
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
    #                                                      #
    #         Start of your own config options!!!          #
    #                                                      #
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #

    # ---------------------------------------------------- #
    # database settings                                    #
    # ---------------------------------------------------- #
    # DatabaseHost
    # (The database host.)
    $Self->{'DatabaseHost'} = 'localhost';
    # Database
    # (The database name.)
    $Self->{'Database'} = 'otrs';
    # DatabaseUser
    # (The database user.)
    $Self->{'DatabaseUser'} = 'otrs';
    # DatabasePw
    # (The password of database user. You also can use bin/otrs.CryptPassword.pl
    # for crypted passwords.)
    $Self->{'DatabasePw'} = 'otrs';
    # DatabaseDSN
    # (The database DSN for MySQL ==> more: "man DBD::mysql")
    $Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";

    # (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/local/otrs';

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

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

    # ---------------------------------------------------- #
    # data inserted by installer                           #
    # ---------------------------------------------------- #
    # $DIBI$
    $Self->{'DefaultCharset'} = 'utf-8';

    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
    #                                                      #
    #           End of your own config options!!!          #
    #                                                      #
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
    # (take care that Net::LDAP is installed!)
   $Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host'} = '192.168.0.1';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=my,dc=office,dc=local';
    $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';

    # 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=otrs,CN=Users,DC=my,DC=office,DC=local';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = 'otrs';

    # 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 convert all given usernames to lower letters you
    # should activate this option. It might be helpfull if databases are
    # in use that do not distinguish selects for upper and lower case letters
    # (Oracle, postgresql). User might be synched twice, if this option
    # is not in use.
#    $Self->{'AuthModule::LDAP::UserLowerCase'} = 0;

    # In case you need to use OTRS in iso-charset, you can define this
    # by using this option (converts utf-8 data from LDAP to iso).
#    $Self->{'AuthModule::LDAP::Charset'} = 'iso-8859-1';

    # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
    $Self->{'AuthModule::LDAP::Params'} = {
        port    => 389,
        timeout => 120,
        async   => 0,
        version => 3,
    };

    $Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = '192.168.0.1';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=my,dc=office,dc=local';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';


    # The following is valid but would only be necessary if the
    # anonymous user do NOT have permission to read from the LDAP tree
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=otrs,CN=Users,DC=my,DC=office,DC=local';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'otrs';

    # 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->{'AuthSyncModule::LDAP::AlwaysFilter'} = '';

    # AuthSyncModule::LDAP::UserSyncMap
    # (map if agent should create/synced from LDAP to DB after successful login)
    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
        # DB -> LDAP
        UserFirstname => 'givenName',
        UserLastname  => 'sn',
        UserEmail     => 'mail',
    };

    # In case you need to use OTRS in iso-charset, you can define this
    # by using this option (converts utf-8 data from LDAP to iso).
#    $Self->{'AuthSyncModule::LDAP::Charset'} = 'iso-8859-1';

    # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
    $Self->{'AuthSyncModule::LDAP::Params'} = {
        port    => 389,
        timeout => 120,
        async   => 0,
        version => 3,
    };

    # Die if backend can't work, e. g. can't connect to server.
#    $Self->{'AuthSyncModule::LDAP::Die'} = 1;



    # Die if backend can't work, e. g. can't connect to server.
#    $Self->{'AuthModule::LDAP::Die'} = 1;


}

# ---------------------------------------------------- #
# needed system stuff (don't edit this)                #
# ---------------------------------------------------- #
use strict;
use warnings;

use vars qw(@ISA $VERSION);
$VERSION = qw($Revision: 1.23 $)[1];

use Kernel::Config::Defaults;
push (@ISA, 'Kernel::Config::Defaults');

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

1;
zloidemon
Znuny newbie
Posts: 2
Joined: 15 Feb 2011, 07:54
Znuny Version: 3.0.5

Re: Problem auth with win2k3 AD

Post by zloidemon »

I'm added a email address at the profile on AD. But How can I disable auth without email?
thomkortekaas
Znuny newbie
Posts: 61
Joined: 17 Dec 2010, 13:22
Znuny Version: 3.0

Re: Problem auth with win2k3 AD

Post by thomkortekaas »

Login into OTRS.
Create a Customer an make sure the "Username" corresponds with the AD username.

That worked for me.

OTRS doesn't automatically create an account for the users if it validates against a external DB like Active Directory.
OTRS 3.0.7 with MySQL on Windows server 2003 r2 server with AD integration for customers.
Locked