Compartir a través de


Planear proveedores de notificaciones personalizados para Personas Selector en SharePoint

SE APLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint en Microsoft 365

Puede usar los proveedores de notificaciones que se incluyen con SharePoint Server o puede crear sus propios proveedores de notificaciones personalizados para conectarse a orígenes adicionales de notificaciones y proporcionar notificaciones adicionales en el token de seguridad para un usuario. Por ejemplo, si tiene una aplicación de administración de relaciones con el cliente (CRM) que contiene roles que no se encuentran en el repositorio de usuarios de los Servicios de dominio de Active Directory (AD DS), puede crear un proveedor de notificaciones personalizado para conectarse a esa base de datos CRM y agregar datos de los roles CRM al token de seguridad original de un usuario. Para obtener más información sobre los escenarios de uso del proveedor de notificaciones, vea Proveedor de notificaciones.

Un proveedor de notificaciones de SharePoint Server se usa para aumentar las notificaciones y proporcionar resolución de nombres. En el rol de aumento de notificaciones, un proveedor de notificaciones aumenta el token de seguridad de un usuario con notificaciones adicionales durante el inicio de sesión. Para obtener más información sobre el aumento de notificaciones, vea Proveedor de notificaciones. En el rol de resolución de nombres, un proveedor de notificaciones enumera, resuelve, busca y determina la visualización “descriptiva” de usuarios, grupos y notificaciones en el selector de personas. La selección de notificaciones permite que una aplicación exponga notificaciones en el selector de personas, como por ejemplo, al configurar la seguridad de un sitio de SharePoint o un servicio de SharePoint. Para obtener más información sobre Personas Selector, vea Planear Personas selector en SharePoint.

De manera predeterminada, la información que se resuelve en el selector de personas al hacer una consulta depende de la información suministrada por el proveedor de notificaciones. No se puede cambiar qué información se proporciona y cómo se muestra cuando se usa un proveedor de notificaciones integrado. Para hacerlo, es necesario crear un proveedor de notificaciones personalizado que satisfaga las necesidades de la solución en cuanto a la búsqueda y selección de usuarios, grupos y notificaciones cuando un usuario asigna permisos a elementos, como por ejemplo, un sitio, una lista o una biblioteca.

Cuando se crea un proveedor de notificaciones personalizado, se puede controlar qué información se muestra y qué resultados se devuelven en respuesta a una consulta desde el control del selector de personas. De manera predeterminada, se configura la aplicación web para usar autenticación basada en notificaciones y después se registra el proveedor de notificaciones en el servidor.

Antes de leer este artículo, debe comprender los conceptos descritos en Planear métodos de autenticación de usuario en SharePoint Server y El rol de las notificaciones. Para obtener información adicional sobre la autenticación basada en notificaciones, vea Identidad basada en notificaciones de SharePointy Guía para la identidad basada en notificaciones y Access Control.

Arquitectura

Cuando una aplicación web está configurada para usar la autenticación basada en notificaciones, SharePoint Server usa automáticamente dos proveedores de notificaciones predeterminados:

  • La clase SPSystemClaimProvider proporciona información de notificaciones relacionada con la granja de servidores donde está instalado SharePoint Server.

  • La clase SPAllUserClaimProvider proporciona una notificación Todos los usuarios.

En función del método de autenticación seleccionado para una zona de una aplicación web, SharePoint Server también usa uno o varios de los proveedores de notificaciones predeterminados que aparecen en la tabla 1.

Tabla 1. Métodos de autenticación y proveedores de notificaciones predeterminados

Método de autenticación Proveedor de notificaciones
Autenticación de Windows
SPActiveDirectoryClaimProvider
Autenticación basada en formularios
SPFormsClaimProvider
Autenticación basada en token de lenguaje de marcado de aserción de seguridad (SAML)
SPTrustedClaimProvider

Puede ver una lista de proveedores de notificaciones para una granja de servidores mediante el cmdlet Get-SPClaimProvider de Microsoft PowerShell.

Nota:

Cuando una aplicación web está configurada para usar autenticación basada en token de SAML, la clase SPTrustedClaimProvider no proporciona función de búsqueda para el control web del selector de personas. Cualquier texto escrito en el control del selector de personas se mostrará automáticamente como si se hubiera resuelto, independientemente de si es un usuario, un grupo o una notificación válidos. Si la solución de SharePoint Server usará la autenticación basada en tokens SAML, debe planear la creación de un proveedor de notificaciones personalizado para implementar la búsqueda personalizada y la resolución de nombres.

Los proveedores de notificaciones se registran en una granja de servidores como características que se implementan en la granja de servidores. Se limitan al nivel de granja de servidores. Cada objeto de proveedor de notificaciones usa la clase SPClaimProviderDefinition para incluir información sobre el proveedor de notificaciones, como el nombre para mostrar, la descripción, el ensamblado y el tipo. Dos propiedades importantes de la clase SPClaimProviderDefinition son IsEnabled e IsUsedByDefault. Estas propiedades determinan si un proveedor de notificaciones registrado está habilitado para su uso en la granja de servidores y si el proveedor de notificaciones se usa de forma predeterminada en una zona determinada. De forma predeterminada, todos los proveedores de notificaciones están habilitados cuando se implementan en una granja de servidores. Para obtener información sobre la clase SPClaimProviderDefinition, vea SPClaimProviderDefinition .

Para más información sobre zonas y autenticación, vea Planear los métodos de autenticación de usuario en SharePoint Server.

Ejemplo de configuración de un proveedor de notificaciones personalizado

De manera predeterminada, al registrar un proveedor de notificaciones personalizado en la granja de servidores, las propiedades IsEnabled e IsUsedByDefault se establecen en True. En función del número de zonas necesarias para la solución de SharePoint Server, los métodos de autenticación que usa cada zona y los usuarios de cada zona, es posible que desee limitar las zonas en las que se muestra el proveedor de notificaciones personalizado en Personas selector.

Debido a que los proveedores de notificaciones tienen su ámbito a nivel de la granja de servidores y están habilitados al nivel de la zona, hay que planear cuidadosamente las zonas en las que se desea mostrar el proveedor de notificaciones personalizado. En general, debe asegurarse de que la propiedad IsUsedByDefault está establecida en False y, a continuación, configurar la clase SPIisSettings para cada zona en la que quiera usar el proveedor de notificaciones personalizado. Para configurar un proveedor de notificaciones personalizado para zonas seleccionadas, puede crear un script de PowerShell que establezca el proveedor de notificaciones para una zona mediante la propiedad ClaimsProviders() o puede crear una aplicación personalizada que le permita habilitar un proveedor de notificaciones personalizado para zonas seleccionadas.

Pongamos por ejemplo un escenario en el que haya dos aplicaciones web:

  • La primera aplicación web, PartnerWeb, tiene dos zonas —una intranet que usa autenticación basada en notificaciones de Windows y la otra extranet que usa autenticación basada en formularios— y se usa para colaboración entre empleados y socios.

  • La segunda aplicación web, PublishingWeb, tiene una sola zona que usa autenticación basada en formularios y es un sitio de publicación de Internet para empleados, empresas colaboradoras y socios clientes.

Ahora supongamos que, para la zona extranet en PartnerWeb, quiere que los empleados puedan cooperar con empresas colaboradoras pero no con socios clientes. Para ello, escriba un proveedor de notificaciones personalizado que determine si el usuario actual es, en función de su identidad, una empresa colaboradora o un socio cliente. En este ejemplo, los usuarios de fabrikam.com pertenecen a una empresa colaboradora mientras que los usuarios de contoso.com son socios clientes. Si un usuario de empresa colaboradora se autentica en la aplicación web PartnerWeb, en el token de la notificación se agrega una notificación para un rol denominado BusinessPartner. Si se autentica un socio cliente, en el token de la notificación se agrega una notificación para un rol llamado CustomerPartner.

Para asegurarse de que los socios clientes nunca se agreguen al sitio de colaboración de extranet, agregue una directiva de aplicación web en la aplicación web PartnerWeb para la zona de extranet que deniegue explícitamente el acceso a cualquier usuario que tenga una notificación para un rol llamado CustomerPartner. El proveedor de notificaciones personalizado también necesitaría implementar compatibilidad con búsqueda y escritura para que la directiva de aplicación web resuelva la notificación del rol CustomerPartner, de modo que pueda agregarse a la directiva de aplicación web. Por último, para habilitar esta funcionalidad en la zona de extranet, configure la clase SPIisSettings para que use el proveedor de notificaciones personalizado. En el siguiente diagrama se ilustran los métodos de autenticación y la configuración del proveedor de notificaciones para cada aplicación web y zona.

Figura 1. Ejemplo de los métodos de autenticación y de la configuración de proveedor de notificaciones para aplicaciones web y zonas

Diagrama de SPIisSettings

Puede establecer la propiedad IsUsedByDefault si la configura en un receptor de características que cree para su proveedor de notificaciones personalizado.

También puede invalidar la configuración de las propiedades IsEnabled e IsUsedByDefault mediante el cmdlet de PowerShell Set-SPClaimProvider .

Importante

Si se cambia la propiedad IsEnabled a False, se deshabilitará al proveedor de notificaciones para la granja de servidores. Esto puede resultar útil si necesita solucionar problemas que podrían estar causados por un proveedor de notificaciones personalizado. En general, la propiedad IsEnabled debe establecerse en True.

Uso de notificaciones personalizadas en varias granjas de servidores

Los valores de notificación son una combinación de la propia notificación, el nombre del proveedor de notificaciones y el orden en que se instaló el proveedor de notificaciones en el servidor. Por lo tanto, si desea usar una notificación en varias granjas de servidores o entornos, debe instalar los proveedores de notificaciones en cada granja en el mismo orden en que desee usar la notificación. Cuando haya instalado un proveedor de notificaciones personalizado en una granja de servidores y desee usar la misma notificación en granjas adicionales, siga estos pasos:

  1. Registre los proveedores de notificaciones en las granjas de servidores adicionales en el mismo orden en que se registraron en la primera granja de servidores.

  2. Haga una copia de seguridad de la primera granja de servidores. Para obtener información sobre cómo realizar una copia de seguridad de una granja de servidores, vea Copia de seguridad de granjas de servidores en SharePoint Server.

  3. Use la copia de seguridad de la primera granja de servidores para restaurar las demás granjas de servidores. Para obtener información sobre cómo restaurar una granja de servidores, vea Restaurar granjas de servidores en SharePoint Server.

Consideraciones sobre planeación para los proveedores de notificaciones personalizados

Cuando planee usar proveedores de notificaciones personalizados con el selector de personas en una solución de SharePoint, tenga en cuenta las siguientes preguntas:

  • ¿Qué zonas tiene la aplicación web y qué métodos de autenticación se usan en cada zona?

  • ¿Hay alguna notificación personalizada que debería agregarse a los usuarios para habilitar más permisos o escenarios de seguridad avanzados?

  • ¿Va a usar la autenticación de SAML con un proveedor de identidades de confianza?

  • ¿Cuál será el origen de los valores para los usuarios y los roles que se mostrarán en los resultados de las consultas del selector de personas?

El equipo de publicación de contenido de SharePoint Server quiere agradecer a Steve Peschka su contribución a este artículo. Eche un vistazo al blog de TechNet share-n-dipity de Steve Peschka.

Consulte también

Conceptos

Información general sobre el selector de personas y los proveedores de notificaciones

Planear los métodos de autenticación de usuario en SharePoint Server