LDAP 認証のユーザーを設定します。具体的には、このメソッドは、ユーザー アカウントの AuthenticationMode を LDAP_AUTHENTICATION に設定します。このモードでは、LDAP サーバーに対して認証されます。
必要であれば、Rational ClearQuest から LDAP へのマッピング相関を構成します。 スキーマ リポジトリは、LDAP サーバーのロケーションに構成されている必要があります。データベース セットの LDAP 構成ステータス、および LDAP ログイン名が指定されているかどうかによって、メソッドは、Rational® ClearQuest® マッピング フィールドへの LDAP マッピング属性のコピーも行います。
ユーザーが LDAP 認証 (ユーザー更新の場合は User オブジェクトの UpgradeInfo メソッドを使用し、あるいは、すべての登録済みユーザーの場合、Database オブジェクトの UpgradeMasterUserInfo メソッドを使用します) を使用してユーザー データベースにログインするには、事前に Rational ClearQuest データベース セット内のすべてのユーザー データベースがマスター スキーマ リポジトリから更新されている必要があります。詳しくは、スキーマ リポジトリからユーザー データベースへのユーザー情報のアップグレード を参照してください。
マッピング フィールド値が、既にデータベースに存在する有効な LDAP ユーザー全体で固有でない場合、メソッドは失敗します。 また、LDAP マッピング属性を Rational ClearQuest マッピング フィールドにコピーしようとしている間に、LDAP エラーが発生すると、失敗します。
ユーザーの AuthenticationMode を LDAP_AUTHENTICATION に設定すると、Rational ClearQuest データベース内の Rational ClearQuest ユーザー アカウントのパスワードが、ユーザーが LDAP 認証用に構成されていることを示す特殊値に設定されます。これによって、以前の Rational ClearQuest クライアントが、必要な LDAP 認証でなく Rational ClearQuest 認証を使用してログインできないようにします。
上記の 1 つ以上の条件に適合しない場合、SetLDAPAuthentication メソッドは LDAP マッピング属性を Rational ClearQuest マッピング フィールドにコピーしません。これはエラー条件ではありません。特に、ldap_login_name 引数に NULL 文字列値 ("") を指定して SetLDAPAuthentication メソッドを使用できます。これにより、管理者が Rational ClearQuest ユーザーを LDAP 認証済みユーザーに設定でき、管理者がユーザー LDAP ログイン名を指定する必要がなくなります。 この場合、LDAP マッピング属性は Rational ClearQuest マッピング フィールドにコピーされません。管理者が正しい LDAP マッピング属性を Rational ClearQuest マッピング フィールド (例えば、ユーザーの電子メール) に手動で格納する必要があります。ユーザーのログインは、正しい Rational ClearQuest フィールドが必要なマッピング情報で更新されるまで、失敗します。
有効な LDAP ログイン名なしで SetLDAPAuthentication メソッドを使用するには、ユーザーに正しい Rational ClearQuest LDAP マッピング属性 (例えば、ユーザーの電子メール) が設定されている必要があります。ユーザーのログインは、正しい Rational ClearQuest フィールドが必要なマッピング情報で更新されるまで、失敗します。
VBScript
user.SetLDAPAuthentication(LDAP_login_name)
Perl
user->SetLDAPAuthentication(LDAP_login_name);
VBScript
'set the user authentication mode to ldap: Dim cquser2 ' a user object Dim ldap_login Dim mode ' the user authentication mode ldap_login = "yourusername@us.ibm.com" StdOut "Setting ldap authentication for " & cquser2.name & vbCrLf cquser2.SetLDAPAuthentication (ldap_login) ' verify the user authentication mode: StdOut "Getting authentication mode for user " & cquser2.name & vbCrLf mode = cquser2.GetAuthenticationMode StdOut "user mode: " & CStr(mode) & vbCrLf
Perl
# Check the user's authentication mode. # If it's not LDAP authentication, change it to be such sub Enforce_LDAP_Authentication_On_User { my($user, $LDAP_login) = @_; $authentication = $user->GetAuthenticationMode(); if ($authentication == $CQPerlExt::CQ_LDAP_AUTHENTICATION) { $auth_s = "LDAP Authenticated"; print "User's authentication mode is $auth_s. No Changes needed.¥n"; return 0; } else { $auth_s = "CQ Authenticated"; eval{$user->SetLDAPAuthentication($LDAP_login);}; if ($@) { print "Couldnt run User->SetLDAPAuthentication. Error: $@¥n"; die; } print "LDAP Authentication set.¥n"; return 1; } }