SetLDAPAuthentication

Descripción

Establece un usuario para la autenticación LDAP. Más específicamente, este método establece el AuthenticationMode de cuenta de usuario en LDAP_AUTHENTICATION, que autentica con relación a un servidor LDAP.

Si lo desea, configura la correlación de Rational ClearQuest para LDAP. El repositorio de esquemas debe estar configurado con una ubicación de servidor LDAP. Dependiendo del estado de configuración de LDAP del conjunto de bases de datos y de si se proporciona el nombre de inicio de sesión de LDAP, el método también copia el atributo de correlación de LDAP en el campo de correlación de Rational ClearQuest.

Todas las bases de datos de usuario de un conjunto de bases de datos de Rational ClearQuest se deben actualizar a partir del repositorio de esquemas maestro para que un usuario pueda iniciar la sesión en una base de datos de usuario utilizando la autenticación LDAP (para actualizaciones de usuario, utilice el método UpgradeInfo del objeto User, o bien, para todos los usuarios suscritos, utilice el método UpgradeMasterUserInfo del objeto Database). Consulte el apartado Actualización de la información de usuario de un repositorio de esquemas para una base de datos de usuario para obtener más información.

El método da error si el valor del campo de correlación no es exclusivo entre los usuarios de LDAP que ya se han habilitado en la base de datos. El resultado también es incorrecto si se produce un error de LDAP mientras se intenta copiar encima del atributo de correlación de LDAP en el campo de correlación de Rational ClearQuest.

Al establecer el AuthenticationMode para un usuario en LDAP_AUTHENTICATION, se establece la contraseña de la cuenta de usuario de Rational ClearQuest en la base de datos de Rational ClearQuest en un valor especial que indica que el usuario está configurado para la autenticación LDAP. De este modo se evita que clientes de Rational ClearQuest anteriores puedan iniciar la sesión utilizando la autenticación de Rational ClearQuest en lugar de la autenticación LDAP deseada.

Marcar un usuario como si tuviera un AuthenticationMode de LDAP_AUTHENTICATION no es suficiente para permitir que el usuario pueda iniciar la sesión utilizando la contraseña y el nombre de cuenta de LDAP. También se debe ajustar el registro de usuario de Rational ClearQuest de modo que el valor de atributo de correlación de LDAP del usuario se almacene en el campo de correlación de usuarios de Rational ClearQuest (consulte el mandato installutil setcqldapmap). El método SetLDAPAuthentication copia encima del valor de atributo de correlación de LDAP del usuario, si se cumplen las condiciones siguientes:
  • el conjunto de bases de datos está completamente configurado para la autenticación LDAP utilizando los submandatos de LDAP installutil y la conexión de LDAP en funcionamiento
  • la configuración setcqldapmap no utiliza el menú de acceso directo %login%
  • se proporciona el método SetLDAPAuthentication con una serie ldap_login_name no nula
Si se cumplen estas condiciones, el método SetLDAPAuthentication copia encima del valor de atributo de correlación de LDAP y lo almacena en el campo de correlación de Rational ClearQuest del usuario. El usuario está pues totalmente configurado para LDAP_AUTHENTICATION y puede iniciar la sesión en la base de datos de usuario de Rational ClearQuest que desea una vez que el administrador actualice la base de datos de usuario a partir del repositorio de esquemas maestro.

Si no se cumplen una o más de las condiciones anteriores, el método SetLDAPAuthentication no copia el atributo de correlación de LDAP en el campo de correlación de Rational ClearQuest. No es una condición de error. En especial, puede utilizar el método SetLDAPAuthentication con el argumento ldap_login_name establecido en un valor de serie de nulo (""), lo que permite que un administrador establezca usuarios de Rational ClearQuest como usuarios autenticados de LDAP, sin que sea necesario que el administrador proporcione los nombres de inicio de sesión de LDAP de los usuarios. En este caso, el atributo de correlación de LDAP no se copia en el campo de correlación de Rational ClearQuest. Requiere que un administrador almacene manualmente el atributo de correlación de LDAP correcto en el campo de correlación de Rational ClearQuest (por ejemplo, el correo electrónico del usuario). El inicio de sesión del usuario da error hasta que se actualiza el campo de Rational ClearQuest correcto con la información de correlación necesaria.

La utilización del método SetLDAPAuthentication sin un nombre de inicio de sesión de LDAP válido requiere que un usuario tenga establecido el atributo de correlación de LDAP de Rational ClearQuest correcto (por ejemplo, el correo electrónico del usuario). El inicio de sesión del usuario da error hasta que se actualiza el campo de Rational ClearQuest correcto con la información de correlación necesaria.

Nota: El llamador de este método debe tener privilegios de administrador (es decir, un valor UserPrivilegeMaskType, USER_ADMIN) para establecer el atributo. Rational ClearQuest impide que los usuarios con el privilegio USER_ADMIN establezcan su propio AuthenticationMode.
Nota: Este método estuvo disponible en la versión de 2003.06.14.

Sintaxis

VBScript

user.SetLDAPAuthentication(LDAP_login_name) 

Perl

user->SetLDAPAuthentication(LDAP_login_name); 
Identificador
Descripción
user
Un objeto User.
LDAP_login_name
Un valor String que contiene el nombre de inicio de sesión de usuario para LDAP (por ejemplo, myUniqueName@ibm.com.)
Valor de retorno
Ninguno si es satisfactorio, de otro modo, una excepción (por ejemplo, si no se encuentra el valor LDAP_login_name en el servidor LDAP.

Ejemplos

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

Comentarios