PythonでActiveDirectoryと連動したLDAP認証をする方法

まぁよくある話で、社内イントラのシステムでユーザ認証が必要になったのですが、社内ドメインと各々のシステムでユーザ認証を統一したかったのです。

「アレはこのパスワード、コレはこのアカウント名、コッチはメールアカウント」というのはありえないと思っています。で、そんなときは社内ドメインを仕切ってくれているActiveDirectoryさんにお願いしちゃうのが簡単というわけです。

「ADとしゃべりたいならASP.NETで書けよ」と、ごもっともなご指摘をいただきそうな気もするのですが、まぁ数年ぶりにASP.NET書こうとしたらまったく思い出せなかったアプリケーションはLinux上で稼動させたいわけですよ。

以下の例はPython-LDAPを利用してます。

import ldap

conn = ldap.open(“ADサーバ”)
conn.simple_bind_s(“アカウント@ドメイン”,”パスワード”)

(97, [])

「(97, [])」と表示されれば認証OKです。認証に失敗すると例外が起きます。ここがスマートじゃないですね。Falseじゃなくて例外が返ってきちゃうので、tryは必須です。TrueかFalseで返ってきてくれればありがたかったです。

日本語ユーザ名とか詳細情報の取得までやりたいのですが、そこまでまだ調べきれてません。。。