доступ к AD
От: Dmitry Sustretov Россия  
Дата: 26.10.02 10:54
Оценка:
Поделитесь опытом, как из-под фрюниксов авторизовать пользователя, который зарегистрирован в Active Directory. AD — вроде бы ведь LDAP сервер.
Re: доступ к AD
От: Zlobec Россия  
Дата: 28.10.02 04:27
Оценка:
Здравствуйте Dmitry Sustretov, Вы писали:

DS>Поделитесь опытом, как из-под фрюниксов авторизовать пользователя, который зарегистрирован в Active Directory. AD — вроде бы ведь LDAP сервер.

Используя протокол LDAP. Только когда логинишься указываешь не DN а домен\имя и пароль.
Только схема там кривая. А для исследования подходит любой LDAP браузер.

А для чего авторизация?
Куплю оверлок. Хоть узнаю что это такое.
Re[2]: доступ к AD
От: Dmitry A. Sustretov Россия  
Дата: 28.10.02 04:52
Оценка:
Здравствуйте Zlobec, Вы писали:

Z>Здравствуйте Dmitry Sustretov, Вы писали:


DS>>Поделитесь опытом, как из-под фрюниксов авторизовать пользователя, который зарегистрирован в Active Directory. AD — вроде бы ведь LDAP сервер.

Z>Используя протокол LDAP. Только когда логинишься указываешь не DN а домен\имя и пароль.
Z>Только схема там кривая. А для исследования подходит любой LDAP браузер.

Z>А для чего авторизация?


ну программка есть. уровня предприятия. на данный момент авторизация доморощенная. а весь народ в AD уже давно есть. вот и появилась идея авторизовать через AD.

я ж просил опытом поделиться у кого-то на практике получалось авторизовать с линукса или фри пользователя из AD ? если б ещё кто-нибудь привёл кусок кода на каком-нибудь перле, я б вообще был бы счастлив
Re[3]: доступ к AD
От: Zlobec Россия  
Дата: 28.10.02 08:01
Оценка:
Здравствуйте Dmitry A. Sustretov, Вы писали:

DAS>Здравствуйте Zlobec, Вы писали:


Z>>Здравствуйте Dmitry Sustretov, Вы писали:


DS>>>Поделитесь опытом, как из-под фрюниксов авторизовать пользователя, который зарегистрирован в Active Directory. AD — вроде бы ведь LDAP сервер.

Z>>Используя протокол LDAP. Только когда логинишься указываешь не DN а домен\имя и пароль.
Z>>Только схема там кривая. А для исследования подходит любой LDAP браузер.

Z>>А для чего авторизация?


DAS>ну программка есть. уровня предприятия. на данный момент авторизация доморощенная. а весь народ в AD уже давно есть. вот и появилась идея авторизовать через AD.


DAS>я ж просил опытом поделиться у кого-то на практике получалось авторизовать с линукса или фри пользователя из AD ? если б ещё кто-нибудь привёл кусок кода на каком-нибудь перле, я б вообще был бы счастлив


 #########################################3
    #
    # LDAP Authentication
    #
    #
    #    $ld={
    #        'login'            => user login,
    #        'password'         => user password,
    #        'bind_DN'         => bind_DN,
    #        'base_DN'         => base_DN,
    #        'bind_password'     => password,
    #        'ost'            => host};
    
    
    sub ldap_password
    {
        my ($ld)=@_;
        
        my $ldaps = Net::LDAP->new($ld->{'host'},version =>3);
               
        my $mesg;
        open(FILE,">>status");
        $mesg = $ldaps->bind(   dn       => $ld->{'domain'}."\\".$ld->{'login'},
                                      password => $ld->{'password'} ,
                                      version  => 3 );
        
        print FILE $ld->{'domain'}."\\".$ld->{'login'};
        print FILE $mesg->code,"\n";         
        
        my $status=$mesg->code();                
        close FILE;
        if ( $status == '0' ) 
        {
            return 1;
        }
        else
        {
            return ;
        }
        return ;
        
    }
    
    
    #
    #Get name by login
    #
    #
    
    sub user_info
    {
    my ($ld)=@_;
    
    my $ldaps = Net::LDAP->new($ld->{'host'},version =>3);
    
   
    my $mesg;
    open(FILE,">>status1");
    $mesg = $ldaps->bind(   dn       => $ld->{'domain'}.'\\'.$ld->{'login'},
                            password => $ld->{'password'} ,
                            version  => 3
                        );
    
    print FILE $mesg->code,"\n";         
    close FILE;
    
    #
    #Search user DN
    #
    
    
    my $mesg = $ldaps->search (  # perform a search
                               base   => $ld->{'base_DN'},
                               filter => "(sAMAccountName=".$ld->{ 'login' }.")"
                              );

    #print $ld->{'login'};
    
    $mesg->code && die $mesg->error;
    
    my  $entry = $mesg->entry(0);
    my  $converter = Text::Iconv->new("UTF-8", "WINDOWS-1251");
    my  $user_name = $converter->convert($entry->get('name'));
    my  $e_mail;
     
    
    
    my $user_info = {
                    'user_login' => $ld -> { 'login' },
                    'user_name' => $user_name,
                    'e_mail' => $e_mail            
                    };
    
    
    
    return $user_info;
    }


Ну типа того.
Куплю оверлок. Хоть узнаю что это такое.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.