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' ; }