intra-mart Accel Platform / セットアップガイド

第9版 2014-02-14

«  外部メニュー連携   ::   コンテンツ   ::   SAStruts用設定ファイル(SAStruts+S2JDBCにてデータベースを利用する場合)  »

LDAP認証設定ファイル(アカウントの認証にLDAP認証を利用する場合)

intra-mart Accel Platform でアカウントの認証にLDAP認証を利用する方法を解説します。

LDAP認証モジュールの機能

アカウントの認証時に入力されたユーザIDおよびパスワードを利用してLDAPサーバに対して認証を行うモジュールです。

LDAP認証モジュールでは、以下の機能を提供します。

  • 設定したLDAPサーバのディレクトリ配下に存在するユーザを検索して認証ができます。(複数 OU 対応)
  • 複数のLDAPサーバを設定できます。
    • LDAPサーバがダウンしてる場合に、順次設定されたLDAPサーバに問合せ先を切り替えます。
    • LDAPサーバで認証が失敗した場合、順次設定されたLDAPサーバに問合せ先を切り替えることも可能です。

注意

LDAPサーバのユーザIDと同じユーザIDのアカウントが intra-mart Accel Platform にも必要となります。

  • パスワード以外の情報は intra-mart Accel Platform のアカウント情報を利用します。

注意

LDAPサーバに Active Directory を利用する場合は、LDAPサーバでユーザの検索を行うための検索用LDAPユーザの設定が必要です。

詳しくは <search-controls> を参照してください。

LDAP認証モジュールの利用

LDAP認証モジュールを利用する場合は、以下の手順でモジュールを追加します。

  1. im-Juggling で LDAP認証モジュールを選択してください。

    Overview of Ldap Module Select
  2. LDAP認証モジュールを選択すると、エディタ上部に警告が表示されます。
    [設定ファイルが存在しません(LDAP認証設定ファイル)]のリンクをクリックします。
    Overview of Ldap Module Warning
  3. 「設定ファイル解決」ダイアログが表示されますので、[OK]をクリックします。
    LDAP認証設定ファイル(ldap-certification-config.xml)がプロジェクトのconfに追加されます。
    Overview of Resolve Dialog
  4. 追加されたldap-certification-config.xmlをエディタで編集します。
    Overview of Setting

LDAP認証設定ファイル

LDAP認証に用いるLDAPサーバおよび各種設定を行うファイルです。

<?xml version="1.0" encoding="UTF-8"?>
<ldap-certification-config
   xmlns="http://intra-mart.co.jp/system/security/certification/provider/ldap"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://intra-mart.co.jp/system/security/certification/provider/ldap ../schema/ldap-certification-config.xsd ">
   <enable>false</enable>
   <load-balancing>false</load-balancing>
   <attempt-on-failed-authentication>true</attempt-on-failed-authentication>
   <log>false</log>
   <ldap-servers>
      <ldap-server>
         <permit-no-password>true</permit-no-password>
         <provider-url>ldap://localhost:389/</provider-url>
         <context-factory>com.sun.jndi.ldap.LdapCtxFactory</context-factory>
         <base-dn>dc=ldaps,dc=intra,dc=intra-mart,dc=jp</base-dn>
         <search-filter>sAMAccountName=?</search-filter>
         <search-controls>
            <connect-timeout-property-name>com.sun.jndi.ldap.connect.timeout</connect-timeout-property-name>
            <connect-timeout>0</connect-timeout>
            <searching-dn>sAMAccountName=admin,cn=User,dc=ldaps,dc=intra,dc=intra-mart,dc=jp</searching-dn>
            <searching-pw>******</searching-pw>
            <count-limit>0</count-limit>
            <time-limit>0</time-limit>
         </search-controls>
      </ldap-server>
      <ldap-server>
         <permit-no-password>true</permit-no-password>
         <provider-url>ldap://localhost2:389/</provider-url>
         <context-factory>com.sun.jndi.ldap.LdapCtxFactory</context-factory>
         <base-dn>ou=People,dc=example,dc=com</base-dn>
         <search-filter>uid=?</search-filter>
         <search-controls>
            <connect-timeout-property-name>com.sun.jndi.ldap.connect.timeout</connect-timeout-property-name>
            <connect-timeout>0</connect-timeout>
            <searching-dn>uid=admin,ou=People,dc=example,dc=com</searching-dn>
            <searching-pw>******</searching-pw>
            <count-limit>0</count-limit>
            <time-limit>0</time-limit>
         </search-controls>
      </ldap-server>
   </ldap-servers>
</ldap-certification-config>

<ldap-certification-config>

LDAP認証の共通的な設定を行います。

<ldap-certification-config>の子要素
タグ 説明 必須 設定値 デフォルト値 複数設定
<enable>
LDAP認証を利用するかどうかを設定します。
true / false なし ×
<load-balancing>
ロードバランサを有効にします。
false : <ldap-servers>に設定されている<ldap-server>順に認証を試みます。
true : <ldap-server>の開始位置をランダムに決定し、決定した位置を基準にし、設定した順に認証を試みます。
× true / false false ×
<attempt-on-failed-authentication>
LDAP 認証失敗(ユーザID またはパスワードが不正)時に次の<ldap-server>に認証を試みます。
false : 次の<ldap-server>に認証を試みません。
true : 次の<ldap-server>に認証を試みます。
× true / false false ×
<log>
ログをコンソールに出力かどうかを設定します。
デバッグ用のオプションです。
× true / false false ×
<ldap-servers>
このタグの配下に<ldap-server>を使用して、認証に利用するLDAPサーバの設定を行います。
なし なし ×

<ldap-server>

LDAP認証に用いるLDAPサーバの設定を記述します。
<ldap-servers>の子要素です。
<ldap-server>の要素
タグ 説明 必須 設定値 デフォルト値 複数設定
<ldap-server>
認証に用いるLDAPサーバの設定を記述します。
複数設定した場合、設定順にLDAPサーバに通信を試みます。
通信できない場合は、次のLDAPサーバに通信を試みます。
なし なし 1つ以上

<ldap-server>の子要素
タグ 説明 必須 設定値 デフォルト値 複数設定
<permit-no-password>
空パスワードによる認証を許可するかどうかを設定します。
false : 空パスワードを認証失敗とみなします。
true : 空パスワードでLDAP に問い合わせます。
× true/false false ×
<provider-url>
プロバイダURL を設定します。 【例】ldap://localhost:389/
URL なし ×
<context-factory>
認証に用いるLDAPサーバの設定を記述します。
× コンテキストファクトリクラス名 com.sun.jndi.ldap.LdapCtxFactory ×
<base-dn>
識別情報のベースを設定します。
【例】ou=People,dc=example,dc=com (Open LDAP)
【例】dc=ldaps,dc=intra,dc=intra-mart,dc=jp (Active Directory)
なし なし ×
<search-filter>
ユーザを特定する為に一意になる属性を設定します。
【例】uid=? (Open LDAP)
【例】sAMAccountName=? (Active Directory)

<search-filter> の代わりに <serch-filter>も利用できますが、
<search-filter> を利用してください。
なし なし ×
<search-controls>
LDAPサーバでユーザを検索するためのオプションを設定します。
× なし なし ×
<certification-options>
ユーザ認証において、LDAPサーバに問い合わせる時のオプションを設定します。
× なし なし ×

<search-controls>

ユーザ検索において、LDAPサーバの問い合わせに利用するオプションを設定します。
<ldap-server>の子要素です。
<search-controls>の子要素
タグ 説明 必須 設定値 デフォルト値 複数設定
<connect-timeout-property-name>
接続タイムアウトを設定するプロパティ名を設定します。
【例】com.sun.jndi.ldap.connect.timeout
× 文字列 なし ×
<connect-timeout>
接続タイムアウト時間を設定します。
<connect-timeout-property-name> に com.sun.jndi.ldap.connect.timeoutを設定した場合
ミリ秒数を示す0 より大きい整数で設定し、LDAPサーバがこの値の期間中に接続を確立できないと、接続の試行は中止されます。
0 以下の整数設定した場合または設定しない場合は、TCP などのネットワークプロトコルのタイムアウト値が使用されます。
× ミリ秒 なし ×
<searching-dn> または <serching-dn>
LDAPサーバでユーザを検索するためのユーザ(DN)を設定します。
【例】uid=admin,?ou=People,dc=example,dc=com (Open LDAP)
【例】sAMAccountName=?,dc=ldaps,dc=intra,dc=intra-mart,dc=jp (Active Directory)
この設定は、ActiveDirectory の場合には必要になります。

<searching-dn> の代わりに <serching-dn> も利用できますが、
<searching-dn> を利用してください。
× なし なし ×
<searching-pw> または <serching-pw>
LDAPサーバでユーザを検索するためのユーザパスワードを設定します。
この設定は、ActiveDirectory の場合には必要になります。

<searching-pw> の代わりに <serching-pw> も利用できますが、
<searching-pw> を利用してください。
× なし なし ×
<count-limit>
最大検索数を設定します。デフォルト:0(上限無し)
× 最大検索数 0(上限なし) ×
<time-limit>
時間制限(ミリ秒)を設定します。
× ミリ秒 0(無制限) ×
<deref-linf>
間接参照の有無を設定します。
× true / false false ×
<returning-obj>
結果の一部がオブジェクトとして返すかどうかを設定します。
× true / false false ×
<returning-attribute>
結果として返される属性を設定します。
指定あり:指定した属性のみ返します。 |
指定なし:すべての属性を返します。 |
× 属性ID(複数指定可能:[,]カンマで区切る) 指定なし(すべての属性) ×
<options>
ユーザ検索において、LDAPサーバの問い合わせに利用する追加オプションを設定します。
追加オプションを設定するための親タグです。
このタグの配下に<option>を使用して、追加オプションの設定を行います。
× なし なし ×

<certification-options>

ユーザ認証において、LDAPサーバの問い合わせに利用するオプションを設定します。
<ldap-server>の子要素です。
<certification-options>の子要素
タグ 説明 必須 設定値 デフォルト値 複数設定
<options>
ユーザ認証において、LDAPサーバの問い合わせに利用する追加オプションを設定します。
追加オプションを設定するための親タグです。
このタグの配下に<option>を使用して、追加オプションの設定を行います。
× なし なし ×

<option>

LDAPサーバの問い合わせに利用する追加オプションを設定します。
<options> の子要素です。
<options>
  <option name="*****" value="*****"/>
</options>
<option>の要素
タグ 説明 必須 設定値 デフォルト値 複数設定
<option>
ユーザ認証において、LDAPサーバの問い合わせに利用する追加オプションの内容を設定します。
なし なし 1つ以上

<option>の属性
属性名 説明 必須 設定値 デフォルト値
name
オプション名を設定します。
文字列 なし
value
オプションの値を設定します。
文字列 なし

«  外部メニュー連携   ::   コンテンツ   ::   SAStruts用設定ファイル(SAStruts+S2JDBCにてデータベースを利用する場合)  »