[解決済み] Python + ldap による Active Directory の認証
2023-03-14 01:17:30
質問
Python + LDAPを使用してADに対して認証を行うにはどうしたらよいでしょうか。私は現在python-ldapライブラリを使用していますが、それが生成するのは涙だけです。
私は簡単なクエリを実行するためにバインドすることさえできません。
import sys
import ldap
Server = "ldap://my-ldap-server"
DN, Secret, un = sys.argv[1:4]
Base = "dc=mydomain,dc=co,dc=uk"
Scope = ldap.SCOPE_SUBTREE
Filter = "(&(objectClass=user)(sAMAccountName="+un+"))"
Attrs = ["displayName"]
l = ldap.initialize(Server)
l.protocol_version = 3
print l.simple_bind_s(DN, Secret)
r = l.search(Base, Scope, Filter, Attrs)
Type,user = l.result(r,60)
Name,Attrs = user[0]
if hasattr(Attrs, 'has_key') and Attrs.has_key('displayName'):
displayName = Attrs['displayName'][0]
print displayName
sys.exit()
これを
[email protected] password username
で実行すると、2つのエラーのうちどちらかが発生します。
Invalid Credentials
- 入力ミスや意図的に間違った認証情報を使用した場合、認証に失敗します。
ldap.INVALID_CREDENTIALS: {'info': '80090308: LdapErr: DSID-0C090334、コメント。AcceptSecurityContextエラー、データ52e、vece', 'desc': '無効な認証情報'}。
または
ldap.OPERATIONS_ERROR: {'info': '00000000: LdapErr: DSID-0C090627, comment: この操作を実行するには、接続でバインドが正常に完了する必要があります。'操作エラー'}.
正しくバインドするために、何が足りないのでしょうか。
fedoraとwindowsで同じエラーが出ています。
どのように解決するのですか?
私は不足していた
l.set_option(ldap.OPT_REFERRALS, 0)
initから
関連
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複