【Apache】LDAP連携のベーシック認証
問題
LDAP(ActiveDirectory)連携のベーシック認証ってできますか?
答え
httpd.conf か .htaccess にちょっと設定を書くだけでできる。簡単。
● LDAPのみ
AuthName "User/Password" AuthType Basic AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPURL ldaps://ldap.example.jp/ou=staff,dc=example,dc=jp?uid AuthLDAPBindDN "cn=admin,dc=example,dc=jp" AuthLDAPBindPassword "bind_password" require valid-user
● LDAPして、ダメだったときは.htpasswdする場合(ActiveDirectory使用時)
AuthName "Please enter your ID and password" AuthType Basic AuthBasicProvider ldap file AuthLDAPBindAuthoritative on AuthLDAPUrl "ldap://192.168.xxx.xxx:389/ou=softel,dc=softel,dc=local?sAMAccountName?sub?(objectClass=*)" AuthLDAPBindDN xxxxxxxx@softel-domain AuthLDAPBindPassword "xxxxxxxx" Require ldap-attribute objectClass=person AuthUserFile /home/www/xxxx/yyyy/.htpasswd AuthGroupFile /dev/null Require valid-user
● LDAPして、ダメだったときは.htpasswdするけど社内IPはベーシック認証不要にする場合
AuthName "Please enter your ID and password" AuthType Basic AuthBasicProvider ldap file AuthLDAPBindAuthoritative on AuthLDAPUrl "ldap://192.168.xxx.xxx:389/ou=softel,dc=softel,dc=local?sAMAccountName?sub?(objectClass=*)" AuthLDAPBindDN xxxxxxxx@softel-domain AuthLDAPBindPassword "xxxxxxxx" Require ldap-attribute objectClass=person AuthUserFile /home/www/xxxx/yyyy/.htpasswd AuthGroupFile /dev/null Require valid-user Satisfy Any Order Allow,Deny Allow from 123.456.789.000
● ユーザーが入力したID、パスワードでbindする方式もあるらしい
省略
以下のモジュールが有効なこと。
LoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
他に使える設定項目。
LDAPVerifyServerCert Off #オレオレ証明書でエラーにしない LDAPOpCacheTTL 600 #LDAP問い合わせをキャッシュする
コメント