SetLDAPAuthentication

설명

LDAP 인증 대상이 되는 사용자를 설정합니다. 이 메소드는 LDAP 서버에 대해 인증하는 사용자 계정 AuthenticationMode to LDAP_AUTHENTICATION을 설정합니다.

선택적으로 Rational® ClearQuest®를 LDAP 맵핑 상관으로 구성합니다. 스키마 저장소는 LDAP 서버 위치로 구성되어야 합니다. 데이터베이스 세트의 LDAP 구성 상태와 LDAP 로그인 이름이 제공되었는지 여부에 따라 메소드는 LDAP 맵핑 속성도 Rational ClearQuest 맵핑 필드로 복사합니다.

Rational ClearQuest 데이터베이스 세트의 모든 사용자 데이터베이스는 마스터 스키마 저장소로부터 업데이트되도록 설정되어야 사용자가 LDAP 인증을 사용하여 사용자 데이터베이스에 로그인할 수 있습니다(User 오브젝트의 UpgradeInfo 메소드를 사용하여 업데이트하는 사용자의 경우 또는 신청된 모든 사용자의 경우 Database 오브젝트의 UpgradeMasterUserInfo 메소드를 사용). 자세한 정보는 스키마 저장소에서 사용자 데이터베이스로 사용자 정보 업그레이드를 참조하십시오.

맵핑 필드 값이 데이터베이스에 이미 있는 사용 가능한 LDAP 사용자에 대해 고유하지 않은 경우에는 메소드가 실패합니다. LDAP 맵핑 속성을 Rational ClearQuest 맵핑 필드로 복사하려고 시도하는 중 LDAP 오류가 발생하는 경우에도 실패합니다.

사용자에 대한 AuthenticationMode를 LDAP_AUTHENTICATION으로 설정하면 Rational ClearQuest 데이터베이스의 Rational ClearQuest 사용자 계정 비밀번호는, 사용자가 LDAP 인증으로 구성되었음을 나타내는 특수한 값으로 설정됩니다. 이를 통해 Rational ClearQuest 클라이언트는 Rational ClearQuest 인증을 사용하여 로그인할 수 없게 되고 대신 원하는 LDAP 인증을 사용하게 됩니다.

사용자에게 LDAP_AUTHENTICATION의 AuthenticationMode를 지정하는 것만으로 사용자가 자신의 LDAP 계정 이름 및 비밀번호를 사용하여 로그인할 수 있도록 하기에는 부족합니다. Rational ClearQuest 사용자 레코드도 조정하여 사용자의 LDAP 맵핑 속성값이 Rational ClearQuest 사용자 맵핑 필드에 저장되도록 해야 합니다(installutil setcqldapmap 명령 참조). SetLDAPAuthentication 메소드는 다음 조건이 만족되는 경우 사용자의 LDAP 맵핑 속성값으로 복사합니다.
  • 데이터베이스 세트가 installutil LDAP 하위 명령을 사용하여 LDAP 인증으로 완전히 구성되어 있고 LDAP 연결이 작동 중입니다.
  • setcqldapmap 구성이 %login% 바로 가기를 사용하지 않습니다.
  • SetLDAPAuthentication 메소드가 널이 아닌 ldap_login_name 문자열로 제공됩니다.
이 조건이 충족되면 SetLDAPAuthentication 메소드는 LDAP 맵핑 속성값을 복사되어 사용자의 Rational ClearQuest 맵핑 필드에 저장합니다. 그러면 사용자는 LDAP_AUTHENTICATION에 대해 완전히 구성되어 관리자가 마스터 스키마 저장소에서 사용자를 업데이트하면 원하는 Rational ClearQuest 사용자 데이터베이스 로그인할 수 있습니다.

위의 조건 중 하나 이상이 만족되지 않으면 SetLDAPAuthentication 메소드는 LDAP 맵핑 속성을 Rational ClearQuest 맵핑 필드로 복사하지 않습니다. 이것은 오류 조건이 아닙니다. 특히, ldap_login_name 인수가 널 문자열 값(")으로 설정된 SetLDAPAuthentication 메소드를 사용할 수 있습니다. 이를 통해 관리자는 관리자가 사용자 LDAP 로그인 이름을 제공하지 않고도 Rational ClearQuest 사용자가 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); 
ID
설명
user
User 오브젝트입니다.
LDAP_login_name
LDAP 사용자 로그인 이름(예: myUniqueName@ibm.com)이 포함된 문자열입니다.
Return value
성공 시 리턴값이 없으며, 그렇지 않은 경우 예외가 리턴됩니다(예: LDAP 서버에 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;
	}
}
		

피드백