nginxでLDAP認証(ActiveDirectory編)

ActiveDirectory編といってもやってることは5月27日のエントリと同じなんですが、ちょいちょいMicrosoft的な文法があるのでメモ。

BindDNが@で表現

例えば、 hoge@example.com ってなBindDNだったら、普通のLDAPだとこんな表現になるんですが

binddn "cn=hoge,c=exapmle,c=com"

ActiveDirectoryの場合だとそのまま書けばいいみたい。

binddn "hoge@example.com"

見つけるユーザはcnでsAMAccountでも

どっちでも。同じ値が入ってるんなら、cnだけでも良さそうなもんだけど。

ってなことでnginxの設定ファイルはこんな感じになりました。

ldap_server active_directory{
    url "ldap://xx.xx.xx.xx:389/ou=All Users,dc=example,dc=com,?cn?sub?(memberof=CN=staff,OU=UserGroup,OU=Group,DC=example,DC=com)" ;
    binddn "hoge@example.com" ;
    binddn_passwd "password" ;
    connect_timeout 5s ;
    request_timeout 5s ;
    require 'valid_user' ;
}