Cómo cambiar el comportamiento de una interfaz de inicio de sesión único
Muchos objetos del modelo de objetos de inicio de sesión único (SSO) empresarial exponen la interfaz IPropertyBag, que permite modificar el comportamiento del objeto especificado. Si llama a QueryInterface en un objeto de SSO, puede recuperar la interfaz IPropertyBag y usarla para cambiar el comportamiento del objeto actual.
Para cambiar el comportamiento de una interfaz de SSO especificada
Use QueryInterface en la interfaz especificada para recuperar una instancia de IPropertyBag.
Utilice IPropertyBag.Write para establecer la propiedad, el tipo y el valor de la interfaz.
En la siguiente tabla se describen los valores válidos para los parámetros propName y ptrVar de IPropertyBag:
propName | Tipo | ptrValue | Se puede usar en |
---|---|---|---|
CurrentSSOServer | VT_BSTR | Nombre del servidor al que se envía la información. | Todo |
Transacción | VT_UNKNOWN VT_EMPTY |
Puntero ITransaction de DTC o valor NULL para borrar el ámbito. | ISSOConfigStore::SetConfigInfo ISSOConfigStore::GetConfigInfo ISSOConfigStore::DeleteConfigInfo ISSOAdmin::CreateApplication ISSOAdmin::D eleteApplication ISSOAdmin::UpdateApplication ISSOAdmin::CreateFieldInfo ISSOMapper::GetFieldInfo |
AppFilterFlags | VT_I4 VT_UI4 |
Marcas para controlar la aplicación que se va a filtrar. | ISSOMapper::GetApplications ISSOMapper2::GetApplications2 |
AppFilterFlagsMask | VT_I4 VT_UI4 |
Máscara de marca para controlar la aplicación que se va a filtrar. | ISSOMapper::GetApplications ISSOMapper2::GetApplications2 |
AsyncCall | VT_BOOL | True para utilizar una llamada RPC asíncrona; false para usar una llamada RPC sincrónica. | ISSOConfigOM::GetServerStatus ISSOAdmin::GetGlobalInfo |
CurrentSSOServer: el comportamiento estándar para determinar a qué servidor se va a enviar información de SSO es el siguiente:
Buscar el usuario actual en el Registro. Se puede establecer el nombre de servidor para el usuario actual con las herramientas de línea de comandos o la GUI.
Buscar todos los usuarios en el Registro. Se puede establecer el nombre de servidor para todos los usuarios con las herramientas de línea de comandos o la GUI.
Si no se encuentra ningún nombre de servidor de SSO en el Registro, usar el equipo actual.
Al establecer CurrentSSOServer en un servidor especificado, se invalida el proceso anterior para la interfaz indicada. Tras establecer CurrentSSOServer, todas las llamadas posteriores a métodos que se realicen en la interfaz se enviarán al servidor especificado.
Transacción: especifica una transacción DTC que va a definir el ámbito de las operaciones realizadas por el modelo de objetos de SSO. Debe pasar un puntero ITransaction de DTC en
ptrValue
o "null" para borrar el ámbito de transacción actual.AppFilterFlags/AppFilterMask: controla qué tipos de aplicaciones se devolverán de ISSOMapper.GetApplications e ISSOMapper2.GetApplications. Si las marcas de aplicación coinciden con las especificadas por las marcas de filtro y la máscara de las marcas de filtro, se devolverán. Una forma de filtrar las aplicaciones consiste en establecer AppFilterFlagsMask en SSO_FLAG_APP_FILTER_BY_TYPE y, a continuación, establecer AppFilterFlags en uno o varios de los siguientes elementos:
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: si es true, el inicio de sesión único realizará el método mediante una llamada de procedimiento remoto asincrónica (RPC). El método devolverá E_PENDING mientras esté en curso. Si se devuelve cualquier otro valor significa que el método se ha completado. AsyncCall también permite sondear si el método se ha completado.