共用方式為


如何變更單一登入介面的行為

「企業單一登入」(SSO) 物件模型中的許多物件都會公開 IPropertyBag 介面,此介面可讓您修改指定物件的行為。 如果在 SSO 物件上呼叫 QueryInterface,則可以擷取 IPropertyBag 介面,並將其用來變更目前物件的行為。

變更指定 SSO 介面的行為

  1. 在指定的介面上使用 QueryInterface 來擷取 IPropertyBag 執行個體。

  2. 使用 IPropertyBag.Write 來設定介面的屬性、類型及值。

    下表說明 IPropertyBag propName 和 ptrVar 參數的有效值。

propName 類型 ptrValue 可用於
CurrentSSOServer VT_BSTR 要將資訊傳送至的伺服器的名稱 全部
交易 VT_UNKNOWN

VT_EMPTY
DTC ITransaction 指標,或 NULL 以清除範圍。 ISSOConfigStore::SetConfigInfo
ISSOConfigStore::GetConfigInfo
ISSOConfigStore::DeleteConfigInfo

ISSOAdmin::CreateApplication
ISSOAdmin::D eleteApplication
ISSOAdmin::UpdateApplication
ISSOAdmin::CreateFieldInfo

ISSOMapper::GetFieldInfo
AppFilterFlags VT_I4

VT_UI4
控制要篩選之應用程式的旗標。 ISSOMapper::GetApplications

ISSOMapper2::GetApplications2
AppFilterFlagsMask VT_I4

VT_UI4
控制要篩選之應用程式的旗標遮罩。 ISSOMapper::GetApplications

ISSOMapper2::GetApplications2
AsyncCall VT_BOOL 若為 True,則使用非同步 RPC 進行呼叫;若為 False,則使用同步 RPC。 ISSOConfigOM::GetServerStatus

ISSOAdmin::GetGlobalInfo
  • CurrentSSOServer:用來判斷要傳送 SSO 資訊之伺服器的標準行為如下:

    1. 在目前使用者的登錄中尋找。 可以使用命令列工具或 GUI,為目前的使用者設定伺服器名稱。

    2. 在所有使用者的登錄中尋找。 可以使用命令列工具或 GUI,為所有的使用者設定伺服器名稱。

    3. 如果在登錄中找不到 SSO 伺服器名稱,則使用目前的電腦。

      將 CurrentSSOServer 設定為指定的伺服器會覆寫前述的指定介面程序。 一旦設定 CurrentSSOServer 之後,所有後續在該介面上的方法呼叫都會傳送到指定的伺服器。

  • 交易:指定 DTC 交易,以限定 SSO 物件模型所執行的作業範圍。 您必須在 或 中 ptrValue 傳遞 DTC ITransaction 指標,才能清除目前的交易範圍。

  • AppFilterFlags/AppFilterMask:控制要從 ISSOMapper.GetApplications 和 ISSOMapper2.GetApplications 傳回的應用程式類型。 如果應用程式旗標符合篩選器旗標和篩選器旗標遮罩所指定的旗標,它們就會傳回。 一種執行應用程式篩選的方式,是將 AppFilterFlagsMask 設定為 SSO_FLAG_APP_FILTER_BY_TYPE,然後再將 AppFilterFlags 設定為下列的一或多個項目:

    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:如果為 true,則 SSO 會使用非同步遠端程序呼叫來執行 方法, (RPC) 。 此方法在進行時會傳回 E_PENDING。 任何其他的傳回值都代表方法已完成。 AsyncCall 也可讓您輪詢完成的方法。