SetLDAPAuthentication

説明

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 認証を使用してログインできないようにします。

ユーザーが LDAP_AUTHENTICATION の AuthenticationMode であることをマークするだけでは、ユーザーが LDAP アカウント名とパスワードを使用してログインできるようにするには不十分です。ユーザーの LDAP マッピング属性値が Rational ClearQuest ユーザーのマッピング フィールドに保存されるように Rational ClearQuest ユーザー レコードも調整する必要があります (installutil setcqldapmap コマンドを参照)。 SetLDAPAuthentication メソッドは、次の条件に適合する場合、ユーザーの LDAP マッピング属性値をコピーします。
  • データベース セットが、installutil LDAP サブコマンドを使用して LDAP 認証用に完全に構成されていて、LDAP 接続が動作している。
  • setcqldapmap 構成は %login% ショートカットを使用しない。
  • SetLDAPAuthentication メソッドに、NULL 以外の ldap_login_name 文字列が指定されている。
これらの条件に適合すると、SetLDAPAuthentication メソッドは LDAP マッピング属性値をコピーして、それをユーザーの Rational ClearQuest マッピング フィールドに格納します。その後、ユーザーは LDAP_AUTHENTICATION 用に完全に構成され、管理者がマスター スキーマ リポジトリからユーザー データベースを一度更新すると、該当する 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 フィールドが必要なマッピング情報で更新されるまで、失敗します。

注: このメソッドの呼び出し側には、この値を設定するための管理者権限 (つまり、UserPrivilegeMaskType 値が USER_ADMIN) が必要です。Rational ClearQuestは、USER_ADMIN 権限を持つユーザーが独自の AuthenticationMode を設定できないようにします。
注: このメソッドは、バージョン 2003.06.14 で使用可能になります。

構文

VBScript

user.SetLDAPAuthentication(LDAP_login_name) 

Perl

user->SetLDAPAuthentication(LDAP_login_name); 
識別子
説明
user
User オブジェクト。
LDAP_login_name
LDAP ユーザーのログイン名を含む String (例えば、myUniqueName@ibm.com)。
戻り値
正常の場合はなし。それ以外の場合は例外 (例えば、LDAP_login_name 値が LDAP サーバーに見つからない場合)。

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;
	}
}
		

フィードバック