前回からかなり日があいてしまいました。前回の最後に、"次回は、Apache Directory Studioを使って簡単なディレクトリデータベースを作成する方法を紹介したいと思います。"と書いておいてアレなんですが、これに関してはググればけっこう解説記事が出てくるのでやっぱりやめて、今回はAlfrescoのLDAP連携の方法を紹介したいと思います。
- <tomcat_dir>/shared/classes/alfresco/extension以下に次のような階層でディレクトリを作成します。
$ mkdir -p <tomcat_dir>/shared/classes/alfresco/extension /subsystems/Authentication/ldap/ldap-test
ここで、最後の"ldap-test"というディレクトリ名は、例えば複数のLDAPサーバと連携する必要がある場合にそれぞれを区別するために付ける名前なので、どのような名前でもかまいません。 - このディレクトリに以下のようにcommon-ldap-context.xml、ldap-authentication-context.xml、ldap-authentication.propertiesの3つのファイルをコピーします。
$ cp <tomcat_dir>/webapps/alfresco/WEB-INF/classes/alfresco /subsystems/Authentication/common-ldap-context.xml <tomcat_dir>/shared/classes/alfresco/extension/subsystems /Authentication/ldap/ $ cp <tomcat_dir>/webapps/alfresco/WEB-INF/classes/alfresco /subsystems/Authentication/ldap/ldap-authentication-context.xml <tomcat_dir>/shared/classes/alfresco/extension/subsystems /Authentication/ldap/ldap-test/ $ cp <tomcat_dir>/webapps/alfresco/WEB-INF/classes/alfresco /subsystems/Authentication/ldap/ldap-authentication.properties <tomcat_dir>/shared/classes/alfresco/extension/subsystems /Authentication/ldap/ldap-test/
- コピーしたldap-authentication.propertiesを編集します。書き換える必要があるのは主に以下の部分です。
# LDAPサーバのURLとポート ldap.authentication.java.naming.provider.url=ldap://127.0.0.1:389 # LDAPサーバに接続するLDAPユーザの識別名 #(OpenLDAPの場合はslapd.confにrootdnで指定した識別名) ldap.synchronization.java.naming.security.principal=cn\=Manager, dc\=aegif,dc\=jp # 上記のユーザのパスワード #(OpenLDAPの場合はslapd.confでrootpwに設定した値) ldap.synchronization.java.naming.security.credentials=secret
AlfrescoにはLDAP連携の機能として、ユーザ認証をLDAPサーバに委譲する「認証」と、ユーザ情報をLDAPサーバからAlfrescoにインポートする「同期」の2種類が用意されています。認証を委譲する場合の設定箇所は以下の部分です。# 認証時のユーザ名のフォーマット #(%sの部分にログイン画面でユーザが入力したIDが入ります) ldap.authentication.userNameFormat=uid=%s,ou=users,dc=aegif, dc=jp
LDAPサーバからユーザ情報を同期させる場合の設定箇所は以下の部分です。ここでは省略していますが、グループを同期させる場合はグループの同期設定もどうファイル内で設定します。# ユーザのobjectclass ldap.synchronization.personQuery=(objectclass\=inetOrgPerson) # ユーザの検索ベース ldap.synchronization.userSearchBase=ou\=users,dc\=aegif,dc\=jp # Alfrescoユーザの「ユーザID」に対応させるアトリビュート ldap.synchronization.userIdAttributeName=uid # Alfrescoユーザの「名」に対応させるアトリビュート ldap.synchronization.userFirstNameAttributeName=givenName # Alfrescoユーザの「姓」に対応させるアトリビュート ldap.synchronization.userLastNameAttributeName=sn # Alfrescoユーザの「メールアドレス」に対応させるアトリビュート ldap.synchronization.userEmailAttributeName=mail
- alfresco-grobal.propertiesを編集して、認証のchainの設定を行います。ここで、"ldap-test:ldap"のldap-testの部分は手順1で付けたディレクトリ名と一致している必要があります。
authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap-test:ldap
- Alfrescoを起動します。
No comments:
New comments are not allowed.