Come creare e descrivere un'applicazione a una singola Sign-On
Una comune attività amministrativa che può essere necessario eseguire è l'aggiunta di un'applicazione affiliata al database Enterprise Single Sign-On (SSO). L'aggiunta di un'applicazione affiliata al database Enterprise SSO consente di associare utenti e credenziali all'applicazione affiliata.
Nota
Per la creazione di un'applicazione affiliata è richiesta l'appartenenza all'account "Amministratore applicazioni protette SSO" o di livello superiore.
Per creare e descrivere un'applicazione nel database SSO
Creare un nuovo oggetto
ISSOAdmin
.Creare una nuova applicazione con una chiamata a
ISSOAdmin.CreateApplication
.Aggiungere i campi pertinenti che descrivono l'applicazione con una chiamata a
ISSOAdmin.CreateFieldInfo
.Durante questa fase viene comunicato al database che all'applicazione sono associati utenti e password.
Eseguire il push della descrizione appena creata al server con una chiamata a
ISSOAdmin.UpdateApplication
oISSOAdmin2.UpdateApplication2
.La differenza tra i due metodi è che
UpdateApplication2
usa un oggettoIPropertyBag
come metodo per descrivere gli aggiornamenti dell'applicazione, mentreUpdateApplication
ha più parametri.Ripulire la cache locale per le modifiche apportate chiamando
ISSOAdmin.PurgeCacheForApplication
.L'eliminazione dalla cache è una misura di protezione che impedisce che i nomi e le password descritti nel passaggio 3 si trovino in una posizione non protetta.
Nell'esempio seguente viene illustrato come creare un'applicazione e aggiungere informazioni ai campi.
public static bool AddApplication(string name, string admins, string users)
{
try
{
ISSOAdmin admin=new ISSOAdmin();
// Create application.
admin.CreateApplication(name, "SSO Sample Application", "administrator@ssoaffiliateapplication.com", users, admins, SSOFlag.SSO_WINDOWS_TO_EXTERNAL | SSOFlag.SSO_FLAG_ALLOW_TICKETS | SSOFlag.SSO_FLAG_VALIDATE_TICKETS, 2);
// Add fields.
admin.CreateFieldInfo(name, "User Id", SSOFlag.SSO_FLAG_NONE);
admin.CreateFieldInfo(name, "Password", SSOFlag.SSO_FLAG_FIELD_INFO_MASK);
// Enable application.
admin.UpdateApplication(name, null, null, null, null, SSOFlag.SSO_FLAG_ENABLED, SSOFlag.SSO_FLAG_ENABLED);
// Purge changes.
admin.PurgeCacheForApplication(name);
}
catch
{
return false;
}
return true;
}