2017-07-20 27 views
0

私は現在、自分のビジネス内のユーザーに対してLDAPサインインを実装しようとしています。Rails LDAP無効な資格情報

require 'net/ldap' 
ldap = Net::LDAP.new(:host => '10.0.0.32', :port => 389) 
if ldap.bind(:method => :simple, :username => "ttyler", 
      :password => "********") 
    # authentication succeeded 
else 
    # authentication failed 
    p ldap.get_operation_result 
end 

このコードは実行されていますが、以下のエラーが表示されます。

#<OpenStruct extended_response=nil, code=49, error_message="80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1\u0000", matched_dn="", message="Invalid Credentials"> 

私の現在のマシンは、私のビジネスが属するドメイン上にあると私はホストが正しかったことを確認するnslookupをした - それはあります。私は誰もが一日使っているので、私の資格情報は間違っていないことを知っています。なぜこれが起こっているのか誰も知っていますか?

私はドメインの名前も試してみましたが、これはローカルな********です。それは動作しませんでした。他のアイデア?

+0

ログオンすると、サーバーにログオンするのではなく、ドメインにログオンする可能性が高くなります。 'base'パラメータ文字列を指定する必要があります。このスレッドは、私が正常に使用したutilクラスを示しています:https://stackoverflow.com/a/45015896/23915 – Unixmonkey

答えて

0

あなたのドメイン名に:base属性を指定する必要があります。 f.e.ドメインがexample.localの場合、ベースは "dc = example、dc = com"です。

また、ディレクトリ内のユーザーのフルパスを指定する必要があります。 f.e.サーバー管理者は通常 "cn = admin、dc = example、dc = local"です。

一般的なユーザーは、「cn = ttyler、ou = Users、dc = example、dc = com」というユーザーのユーザーに表示されます。

関連する問題