SetLDAPAuthentication

Descrizione

Imposta un utente per l'autenticazione LDAP. Con maggiore precisione, questo metodo imposta l'AuthenticationMode di account utente su LDAP_AUTHENTICATION, che effettua l'autenticazione rispetto a un server LDAP.

Facoltativamente, configura Rational ClearQuest per la correzione di associazione LDAP. È necessario configurare il repository di schemi con la posizione del server LDAP. A seconda dello stato di configurazione LDAP della serie di database e se il nome di accesso LDAP viene fornito, il metodo copia anche l'attributo di associazione LDAP nel campo di associazione Rational ClearQuest.

Tutti i database utente in una serie di database Rational ClearQuest devono essere aggiornati dal repository di schemi principale prima che un utente possa effettuare l'accesso a un database utente utilizzando l'autenticazione LDAP (per gli aggiornamenti utente, utilizzare il metodo UpgradeInfo di Oggetto User oppure, in alternativa, per tutti gli utenti registrati, utilizzare il metodo UpgradeMasterUserInfo di Oggetto Database). Per ulteriori informazioni, consultare l'argomento Come trasmettere le informazioni utente da un repository di schemi ad un database utente.

Il metodo non riesce se il valore del campo di associazione non è univoco negli utenti LDAP abilitati già presenti nel database. Inoltre, non riesce se si verifica un errore LDAP durante il tentativo di copiare l'attributo di associazione LDAP nel campo di associazione Rational ClearQuest.

Impostare AuthenticationMode per un utente su LDAP_AUTHENTICATION imposta la password dell'account utente Rational ClearQuest nel database Rational ClearQuest su un valore speciale che indica che l'utente viene configurato per l'autenticazione LDAP. Ciò impedisce ai client precedenti Rational ClearQuest di essere in grado di accedere utilizzando l'autenticazione Rational ClearQuest, piuttosto che l'autenticazione LDAP desiderata.

Contrassegnando un utente come se disponesse di un'AuthenticationMode di LDAP_AUTHENTICATION non è sufficiente per abilitare un utente ad accedere utilizzando la password e nome account LDAP relativi. Il record utente Rational ClearQuest deve, inoltre, essere regolato in modo che il valore dell'attributo di associazione LDAP dell'utente venga memorizzato nel campo di associazione utente Rational ClearQuest (consultare il comando installutil setcqldapmap). Il metodo SetLDAPAuthentication copia il valore dell'attributo di associazione LDAP dell'utente, se vengono soddisfatte le seguenti condizioni:
  • la serie di database è completamente configurato per l'autenticazione LDAP utilizzando i sottocomandi LDAP installutil e la connessione LDAP funziona
  • la configurazione setcqldapmap non utilizza il collegamento %login%
  • il metodo SetLDAPAuthentication viene fornito con una stringa ldap_login_name non nulla
Se queste condizioni sono soddisfatte, il metodo SetLDAPAuthentication copia il valore dell'attributo di associazione LDAP e lo memorizza nel campo di associazione Rational ClearQuest dell'utente. L'utente viene quindi completamente configurato per LDAP_AUTHENTICATION ed è in grado di accedere al database utente Rational ClearQuest desiderato una volta che l'Amministratore aggiorna il database utente dal repository di schemi principale.

Se una o più delle condizioni sopra indicate non vengono soddisfatte, allora il metodo SetLDAPAuthentication non copia l'attributo di associazione LDAP nel campo di associazione Rational ClearQuest. Non si tratta di una condizione di errore. In particolare, è possibile utilizzare il metodo SetLDAPAuthentication con l'argomento ldap_login_name impostato su un valore di stringa nullo (""). Questa operazione consente all'amministratore di impostare gli utenti Rational ClearQuest in modo che siano autenticati LDAP senza richiedere all'amministratore di fornire i nomi di accesso LDAP dell'utente. In questo caso, l'attributo di associazione LDAP non verrà copiato nel campo di associazione Rational ClearQuest. Questa operazione richiede la memorizzazione manuale da parte dell'Amministratore dell'attributo di associazione LDAP corretto nel campo di associazione Rational ClearQuest (ad esempio, l'e-mail dell'utente). L'accesso utente non riuscirà fino a quando non verrà aggiornato il campo Rational ClearQuest corretto con le informazioni richieste sull'associazione.

L'utilizzo del metodo SetLDAPAuthentication senza un nome di accesso LDAP valido richiede che un utente disponga della serie di attributi di associazione LDAP corretta Rational ClearQuest (ad esempio, l'e-mail dell'utente). L'accesso utente non riuscirà fino a quando non verrà aggiornato il campo Rational ClearQuest corretto con le informazioni richieste sull'associazione.

Nota: il chiamante di questo metodo deve disporre dei privilegi di Amministratore (ovvero, il valore UserPrivilegeMaskType, USER_ADMIN) per impostare questo valore. Rational ClearQuest impedisce agli utenti con privilegi USER_ADMIN di impostare la propria AuthenticationMode.
Nota: questo metodo è disponibile nella versione 2003.06.14.

Sintassi

VBScript

user.SetLDAPAuthentication(LDAP_login_name) 

Perl

user->SetLDAPAuthentication(LDAP_login_name); 
Identificativo
Descrizione
user
Un oggetto User.
LDAP_login_name
Una stringa che contiene il nome di accesso utente LDAP (ad esempio, myUniqueName@ibm.com.)
Valore di ritorno
Nessuno in caso di operazione riuscita, in caso contrario restituisce un'eccezione (ad esempio, se il valore LDAP_login_name non viene trovato nel server LDAP.

Esempi

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

Feedback