2012AlfrescoのLDAP連携こんにちは。前回からかなり日があいてしまいました。Studioを使って簡単なディレクトリデータベースを作成する方法を紹介したいと思います。"と書いておいてアレなんですが、これに関してはググればけっこう解説記事が出てくるのでやっぱりやめて、今回はAlfrescoのLDAP連携の方法を紹介したいと思います。<tomcat_dir>/shared/classes/alfresco/extension以下に次のような階層でディレクトリを作成します。<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つのファイルをコピーします。<tomcat_dir>/shared/classes/alfresco/extension/subsystems/Authentication/ldap/ldap-test/コピーしたldap-authentication.propertiesを編集します。書き換える必要があるのは主に以下の部分です。上記のユーザのパスワード#(OpenLDAPの場合はslapd.confでrootpwに設定した値)ldap.synchronization.java.naming.security.credentials=secretAlfrescoにはLDAP連携の機能として、ユーザ認証をLDAPサーバに委譲する「認証」と、ユーザ情報をLDAPサーバからAlfrescoにインポートする「同期」の2種類が用意されています。認証を委譲する場合の設定箇所は以下の部分です。認証時のユーザ名のフォーマット#(%sの部分にログイン画面でユーザが入力したIDが入ります)ldap.authentication.userNameFormat=uid=%s,ou=users,dc=aegif,dc=jpLDAPサーバからユーザ情報を同期させる場合の設定箇所は以下の部分です。ここでは省略していますが、グループを同期させる場合はグループの同期設定もどうファイル内で設定します。Alfrescoユーザの「メールアドレス」に対応させるアトリビュートldap.synchronization.userEmailAttributeName=mailalfresco-grobal.propertiesを編集して、認証のchainの設定を行います。ここで、"ldap-test:ldap"のldap-testの部分は手順1で付けたディレクトリ名と一致している必要があります。authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap-test:ldapAlfrescoを起動します。環境によって異なる部分も出てくると思いますが、基本的な設定方法は以上です。手順3で編集したldap-authentication.propertiesには他にも設定項目が細かく用意されており、環境に合わせて柔軟に設定を変えることができるので、色々試してみていただければと思います。