intra-mart 6.1.14

jp.co.intra_mart.foundation.security.certification.ldap.extension
クラス LDAPUserCertification

java.lang.Object
  拡張jp.co.intra_mart.foundation.security.certification.StandardUserCertification
      拡張jp.co.intra_mart.foundation.security.certification.ldap.extension.LDAPUserCertification
すべての実装インタフェース:
UserCertification

public class LDAPUserCertification
extends StandardUserCertification

ユーザログインLDAP認証クラス(複数OU対応版)。

一般ユーザのLDAPログイン認証を行うためのクラス

初期化パラメータは以下のものを必要とします。
ログイングループごとに必須パラメータとLDAP環境による任意パラメータが必要です。

必須パラメータ説明
ログイングループID.provider-urlプロバイダURLを設定します(Ex : ldap://localhost:389/)。
カンマ(,)区切りで複数指定可能(Ex : ldap://localhost:389/, ldap://localhost:27272/)。
複数指定した場合、左から順にLDAPサーバに通信を試みます。通信できない場合のみ次の接続先に通信を試みます。
ログイングループID.context-factoryコンテキストファクトリを設定します。(Ex : com.sun.jndi.ldap.LdapCtxFactory)
ログイングループID.base-dn識別情報のベースを設定します。(Ex : dc=ldaps,dc=intra-mart,dc=jp)
ログイングループID.serch-filterユーザを特定する為に一意になる属性を設定します。(Ex : uid=?)
任意パラメータ説明
ログイングループID.load-balancingロードバランサを有効にします。(true/false)
設定しない場合はfalseとして扱います。
falseを指定した場合、プロバイダURLを左から順に認証を試みます。
trueを指定した場合、プロバイダURLの開始位置をランダムに決定し、決定した位置を基準に右方向に順に認証を試みます。
ログイングループID.attempt-on-failed-authenticationLDAP認証失敗(ユーザIDまたはパスワードが不正)時に次のプロバイダURLに認証を試みます(true/false)。
設定しない場合はfalseとして扱います。
falseを指定した場合、次のプロバイダURLに認証を試みません。
trueを指定した場合、次のプロバイダURLに認証を試みます。
ログイングループID.connect-timeout-property-name接続タイムアウトを設定するプロパティ名を設定します。(Ex : com.sun.jndi.ldap.connect.timeout)
ログイングループID.connect-timeout接続タイムアウト時間を設定します。
プロパティに com.sun.jndi.ldap.connect.timeout を指定した場合、ミリ秒数を示す0より大きい整数で指定し、LDAP プロバイダがこの値の期間中に接続を確立できないと、接続の試行は中止されます。
0 以下の整数指定した場合または設定しない場合は、TCP などのネットワークプロトコルのタイムアウト値が使用されます。
ログイングループID.serching-dnLDAP上でユーザを検索する為のユーザ(DN)を設定します。(Ex : uid=admin,cn=User,dc=ldaps,dc=intra,dc=intra-mart,dc=jp)
この設定は、ActiveDirectoryの場合には必要になります。
ログイングループID.serching-pwLDAP上でユーザを検索する為のユーザパスワードを設定します。(Ex : admin)
この設定は、ActiveDirectoryの場合には必要になります。
検索パラメータ説明
ログイングループID.count-limit最大検索数を設定します。デフォルト:0(上限無し)
ログイングループID.time-limit時間制限(ミリ秒)を設定します。デフォルト:0(無制限)
ログイングループID.deref-linf間接参照の有無を設定します。デフォルト:false
ログイングループID.returning-obj結果の一部がオブジェクトとして返るかを設定します。デフォルト:false
ログイングループID.returning-attribute結果として返される属性を設定します。デフォルト:指定なし(すべての属性)
属性ID
指定した属性のみ返す。(複数指定可能:[,]カンマで区切る)
指定なし
すべての属性を返す


以下はログイングループ全体に対して設定するパラメータです。
パラメータ説明
permit-no-password空パスワードによる認証処理を許可するかどうか設定します。(true/false)
設定しない場合はfalseとして扱います。
falseを指定した場合、パスワード無しを認証失敗とみなします。
trueを指定した場合、空パスワードでLDAPに問い合わせます。
logログをコンソールに出力します。(true/false)
設定しない場合はfalseとして扱います。
デバッグ用オプションです。

ログイングループID.base-dnを元に、ログイングループID.serch-filterの'?'の部分をユーザIDに置換して、 LDAP検索を行い、ユーザのフルDNを作成し、そのフルDNで認証を行います。
このdnの記述方法は、LDAPサーバによって異なります。

導入されたバージョン:
5.1
バージョン:
1.0

コンストラクタの概要
LDAPUserCertification()
           
 
メソッドの概要
 int certification(LoginInfo loginInfo, Account account, HttpServletRequest req, HttpServletResponse resp)
          LDAPに対してユーザを認証します。
 void init(Map params)
          ユーザログイン認証の初期化を行います。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

LDAPUserCertification

public LDAPUserCertification()
メソッドの詳細

init

public void init(Map params)
ユーザログイン認証の初期化を行います。

ユーザログイン認証のインスタンス生成時に一度だけ呼び出されます。

初期化パラメータを元にログイングループID毎の設定情報モデルを作成します。

定義:
インタフェース UserCertification 内の init
オーバーライド:
クラス StandardUserCertification 内の init
パラメータ:
params - 初期化パラメータのマップ

certification

public int certification(LoginInfo loginInfo,
                         Account account,
                         HttpServletRequest req,
                         HttpServletResponse resp)
LDAPに対してユーザを認証します。

定義:
インタフェース UserCertification 内の certification
オーバーライド:
クラス StandardUserCertification 内の certification
パラメータ:
loginInfo - ログイン情報
account - ユーザ情報
req - サーブレットリクエスト
resp - サーブレットレスポンス
戻り値:
認証結果
認証成功 SecurityConstraint.CR_OK
認証失敗 SecurityConstraint.CR_NG
認証処理エラー SecurityConstraint.CR_ERROR

intra-mart 6.1.14

Copyright © 2000-2010 NTT DATA INTRAMART CO.,LTD.. All Rights Reserved.