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

  1. Utilizzare QueryInterface sull’interfaccia specificata per recuperare un’istanza IPropertyBag.

  2. 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:

    1. 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.

    2. 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.

    3. 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 ptrValueo "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.