Artículo original publicado el domingo, 8 de mayo de 2011

Un escenario que está ocurriendo con más frecuencia en SharePoint 2010 es usar una sola zona para varios proveedores de autenticación. Una de las razones por las que la gente lo hace es porque desean usar algún tipo de autenticación de notificaciones (como FBA o SAML), pero también desean agregar notificaciones de Windows para que la zona se pueda indizar mediante el rastreador (crawler) de SharePoint. El problema con este enfoque tiene dos vertientes:

  1. Los usuarios ven una página de selección de inicio de sesión en la que tienen que seleccionar Windows u otro tipo de autenticación.
  2. Cuando se agregan usuarios a un sitio (o se realiza cualquier operación que invoque el selector de personas), verán usuarios de Active Directory en los resultados del selector junto con los usuarios de los proveedores de autenticación de notificaciones que estén usando.

Por lo tanto, ¿qué podemos hacer al respecto? Para solucionar el primer problema, podemos escribir una página de selección de inicio de sesión personalizada. Ya traté ese escenario en mi entrada en http://blogs.msdn.com/b/sharepoint_sp/archive/2011/06/24/omitir-la-p-225-gina-de-selecci-243-n-de-varios-proveedores-de-autenticaci-243-n-en-sharepoint-2010.aspx. Pero ¿qué ocurre con el segundo problema, es decir, el de ocultar usuarios de AD para que no se muestren en los resultados de búsqueda del selector de personas? Aquí viene el CU de abril de 2011al rescate. <NOTA RÁPIDA: Puede que experimente ciertos problemas con esto en el CU de abril; el CU de junio tendrá una versión actualizada. El kilometraje puede variar, así que no dude en probarlo.> Una vez que haya aplicado el CU, verá que el SPClaimProviderDefinitions incluye ahora una nueva propiedad denominada "isVisible". Simplemente puede establecerlo en False para el proveedor de Active Directory y no volverá a aparecer cuando use el selector de personas.

Este es un pequeño fragmento de PowerShell que muestra cómo hacerlo:

$cpm = Get-SPClaimProviderManager
$ad = get-spclaimprovider -identity "AD"
$ad.IsVisible = $false
$cpm.Update()

Un par de cosas que hay que tener en cuenta:

  1. El comando de PowerShell Get-SPClaimProvider en realidad devuelve un SPClaimProviderDefinition, por lo que es correcto.
  2. Se usa la identidad "AD" porque es el nombre interno del proveedor de Active Directory.

En mis pruebas limitadas ni siquiera tuve que hacer un IISRESET después de realizar este cambio; pude continuar y Active Directory dejó de aparecer en la lista de proveedores de autenticación en el panel izquierdo del selector de personas. Por el contrario, cuando lo volví a cambiar, empezó a aparecer de nuevo inmediatamente sin un IISRESET.

En este momento, la mayor limitación con esto es que no parece que se pueda exigir esta configuración por zona, lo que sería ideal. Si descubro otra cosa al respecto, actualizaré esta entrada.

 

 

 

Esta entrada de blog es una traducción. Puede consultar el artículo original en Hiding Default Authentication Providers in SharePoint 2010