SubversionのBasic認証にActive Directoryを利用する方法です。
Active Directoryに登録しているユーザの詳細は前回記事を参照ください。
【ADサーバ】 OS: Windows Server 2008 R2(64-bit) Domain Name: kuitan.net IP: 192.168.77.125 ⇒AD登録ユーザ: dn: CN=aduser01,CN=Users,DC=kuitan,DC=net dn: CN=puser01,OU=person,DC=kuitan,DC=net 【Webサーバ】 OS: CentOS 6.3(64-bit) Apache: 2.2.15 Subversion: 1.6.11 IP: 192.168.77.147
■SVNリポジトリ作成
[root@web03 ~]# mkdir /opt/svn
[root@web03 ~]# mkdir /opt/svn/users
[root@web03 ~]# mkdir /opt/svn/person
[root@web03 ~]# svnadmin create /opt/svn/users/project01
[root@web03 ~]# svnadmin create /opt/svn/users/project02
[root@web03 ~]# svnadmin create /opt/svn/person/project03
[root@web03 ~]# svnadmin create /opt/svn/person/project04
[root@web03 ~]# chown -R apache: /opt/svn
■subversion.conf追加設定
[root@web03 ~]# vi /etc/httpd/conf.d/subversion.conf
[root@web03 ~]# tail -27 /etc/httpd/conf.d/subversion.conf
<Location /users>
DAV svn
SVNListParentPath on
SVNParentPath /opt/svn/users
AuthType Basic
AuthName "Subversion Authentication Users"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://192.168.77.125:389/cn=users,dc=kuitan,dc=net?sAMAccountName?sub?(objectClass=*)
AuthLDAPBindDN Administrator@kuitan.net
AuthLDAPBindPassword xxxxxxxx
Require valid-user
</Location>
<Location /person>
DAV svn
SVNListParentPath on
SVNParentPath /opt/svn/person
AuthType Basic
AuthName "Subversion Authentication Person"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://192.168.77.125:389/ou=person,dc=kuitan,dc=net?sAMAccountName?sub?(objectClass=*)
AuthLDAPBindDN Administrator@kuitan.net
AuthLDAPBindPassword xxxxxxxx
Require valid-user
</Location>
[root@web03 ~]# /etc/init.d/httpd restart
※表示の都合上タグを"<"と">"で記載。※<Location /users>の設定ではcn=usersに属するユーザがアクセスできるリポジトリを定義している。
※<Location /person>の設定ではou=personに属するユーザがアクセスできるリポジトリを定義している。
■ブラウザからアクセス
https://192.168.77.147/users/
Basic認証の画面が表示され、ADに登録したユーザ(cn=usersに属するユーザ)でアクセスする。
その後、https://192.168.77.147/person/にアクセスすると再びBasic認証を要求される。
ou=personに属するユーザでアクセスする。
※ちなみに、上記を行うだけならWebサーバ側にopenldap-clientsパッケージは不要。
0 件のコメント:
コメントを投稿