Come modificare il comportamento di un'interfaccia Single Sign-On
Molti degli oggetti del modello oggetto Enterprise Single Sign-On (SSO) espongono l’interfaccia IPropertyBag che consente di modificare il comportamento dell’oggetto specificato. Se si chiama QueryInterface su un oggetto SSO, è possibile recuperare l’interfaccia IPropertyBag e utilizzarla per modificare il comportamento dell’oggetto corrente.
Per modificare il comportamento di un'interfaccia SSO specificata
Utilizzare QueryInterface sull’interfaccia specificata per recuperare un’istanza IPropertyBag.
Utilizzare IPropertyBag.Write per impostare la proprietà, il tipo e il valore per l’interfaccia.
Nella tabella seguente vengono descritti i valori validi per i parametri IPropertyBag propName e ptrVar.
propName | Tipo | ptrValue | Utilizzabile in |
---|---|---|---|
CurrentSSOServer | VT_BSTR | Nome del server a cui inviare le informazioni | Tutti |
Transazione | VT_UNKNOWN VT_EMPTY |
Puntatore ITransaction DTC o NULL per annullare l’ambito. | ISSOConfigStore::SetConfigInfo ISSOConfigStore::GetConfigInfo ISSOConfigStore::DeleteConfigInfo ISSOAdmin::CreateApplication ISSOAdmin::D eleteApplication ISSOAdmin::UpdateApplication ISSOAdmin::CreateFieldInfo ISSOMapper::GetFieldInfo |
AppFilterFlags | VT_I4 VT_UI4 |
Flag per il controllo dell’applicazione da filtrare. | ISSOMapper::GetApplications ISSOMapper2::GetApplications2 |
AppFilterFlagsMask | VT_I4 VT_UI4 |
Maschera dei flag per il controllo dell’applicazione da filtrare. | ISSOMapper::GetApplications ISSOMapper2::GetApplications2 |
AsyncCall | VT_BOOL | True per chiamare mediante una chiamata RPC asincrona, false per utilizzare una chiamata RPC sincrona. | ISSOConfigOM::GetServerStatus ISSOAdmin::GetGlobalInfo |
CurrentSSOServer: il comportamento standard per determinare il server a cui inviare informazioni SSO è il seguente:
Cercare l’utente corrente nel Registro di sistema. È possibile impostare il nome del server per l’utente corrente mediante gli strumenti da riga di comando o l’interfaccia grafica.
Cercare tutti gli utenti nel Registro di sistema. È possibile impostare il nome del server per tutti gli utenti mediante gli strumenti da riga di comando o l’interfaccia grafica.
Se nel Registro di sistema non viene trovato alcun nome del server SSO, utilizzare il computer corrente.
Se si imposta CurrentSSOServer su un server specificato, verrà eseguito l’override del processo precedente per l’interfaccia specificata. Dopo aver impostato CurrentSSOServer, tutte le successive chiamate al metodo sull’interfaccia verranno inviate al server specificato.
Transazione: specifica una transazione DTC che definisce l'ambito delle operazioni eseguite dal modello a oggetti SSO. È necessario passare un puntatore ITransaction DTC in
ptrValue
o "null" per cancellare l'ambito della transazione corrente.AppFilterFlags/AppFilterMask: controlla i tipi di applicazioni restituiti da ISSOMapper.GetApplications e ISSOMapper2.GetApplications. Se i flag dell’applicazione corrispondono ai flag specificati dai flag del filtro e dalla maschera dei flag del filtro, verranno restituiti i filtri dell’applicazione. Per eseguire il filtro dell’applicazione, è possibile impostare AppFilterFlagsMask su SSO_FLAG_APP_FILTER_BY_TYPE e quindi AppFilterFlags su uno o più dei flag seguenti:
SSO_APP_TYPE_INDIVIDUAL
SSO_APP_TYPE_GROUP
SSO_APP_TYPE_CONFIG_STORE
SSO_APP_TYPE_HOST_GROUP
SSO_APP_TYPE_PS_ADAPTER
SSO_APP_TYPE_PS_GROUP_ADAPTER
AsyncCall: se true, SSO eseguirà il metodo usando una chiamata rpc (Remote Procedure Call) asincrona. Il metodo restituirà E_PENDING mentre l’esecuzione è in corso. Tutti gli altri valori restituiti indicano che il metodo è stato completato. AsyncCall consente inoltre di eseguire il polling del metodo per il completamento.