2016-12-23 2 views
1

私はflask_simpleldapを使用していますが、何か便利なことを行うためにバインド接続を取得するのに苦労しています。python - flask_simpleldapはバインドされません

私のLDAPサーバーはアクティブなディレクトリです。

ストリップダウンのコードは次のように見える、とthe exampleとほぼ同じになります。

from flask import Flask 
from flask_simpleldap import LDAP 

app = Flask(__name__) 
app.secret_key = 'super secret key' 
app.debug = True 

app.config['LDAP_HOST'] = 'my-ldap-host.example.com' 
app.config['LDAP_REALM_NAME'] = 'LDAP Authentication' 
app.config['LDAP_SCHEMA'] = 'ldaps' 
app.config['LDAP_PORT'] = 636 
app.config['LDAP_BASE_DN'] = 'dc=example,dc=com' 
app.config['LDAP_USERNAME'] = '[email protected]' 
app.config['LDAP_PASSWORD'] = 'binduser_pw' 

app.config['LDAP_OBJECTS_DN'] = 'distinguishedName' 
app.config['LDAP_OPENLDAP'] = False 

ldap = LDAP(app) 


@app.route('/ldap') 
@ldap.basic_auth_required 
def ldap_protected(): 
    return 'Welcome, {0}!'.format(g.ldap_username) 

if __name__ == '__main__': 
    app.run(host='0.0.0.0', port=8080, debug=True) 

フラスコアプリを実行しているとき、私はこのようなエラーが得られます。

LDAPException: Operations error 

しばらく私はflask_simpleldap__init__.pyファイルにinfoとを表示するように修正しました。line 274; ...

LDAPException: 000004DC: LdapErr: DSID-0C090752, 
comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v2580 

だから、私は理解することが私の最初のバインドが動作しない理由れる必要があるかと思い、私は私のapp.configで間違った何かを持っています。今、私はエラーについて少し詳細情報を取得しますか?

問題ありませんが、何ができるか確認してください... ldapsearchは、次のようなシェルから動作するようです:

ldapsearch -x -LLL -E pr=200/noprompt -h my-ldap-host.example.com -D "[email protected]" -w 'binduser_pw' -b "dc=example, dc=com" -s sub "(sAMAccountName=binduser)" | grep distinguishedName 


distinguishedName: CN=Bind User,OU=Some_OU,DC=example,DC=com 

その他の詳細

  • 私はpython2.7に試してみました3.5、同じ問題
  • Centos 7.2
  • Active DirectoryがLDAPサーバー

ご協力いただきありがとうございます。

答えて

1

これが役立つかどうかわかりませんが、flask_simpleldapをテストActive Directoryインスタンスで使用するように設定しました。唯一の関連の違いは、私が使用していたということです。

app.config['LDAP_USE_SSL'] = True 

私は、無効なDNまたはユーザー名の形式を持っていたとき、私はまた、「操作エラー」を見てきたと思います。

+0

[OK]をクリックすると、バインドされ、最初のエラーが発生しました。御時間ありがとうございます。 – joefromct

1

あなたのユーザ名は完全修飾されている必要があります。

app.config['LDAP_USERNAME'] = 'uid=binduser,dc=example,dc=com' 
関連する問題