jueves, 5 de julio de 2012

Error de Acceso denegado intermitente en SharePoint 2010 no importando los permisos que se asignen

Este error es en la mayoría de ocasiones difícil de rastrear su origen y por lo tanto su solución.  Pero al final es muy sencillo resolverlo. 

Los síntomas son los siguientes:

1) Al parecer la primera vez que visitamos la página no nos da el error pero si regresamos a la misma  nos muestra un error de acceso denegado.

2)A pesar que el usuario tenga permisos de administrador de la colección de sitios, le muestra el mismo error de acceso denegado.

3)La única forma de brindar acceso pareciera con una policita de usuario a nivel de la aplicación Web.

El problema:

SharePoint 2010 tiene una opción para configurar el cache de objetos con el propósito de agilizar la navegación en las páginas del portal.  Y eso lo hace por medio de dos cuentas de dominio que no deberían ser ni la cuenta administradora de la granja SPFarm, ni tampoco SPAdmin.  Sino algo como SPSuperUser y SPSuperReader. 

El problema se inició con el siguiente mensaje de error que reporta el visor de Windows en el Servidor de SharePoint.

Object Cache: The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.
To configure the account use the following command 'stsadm -o setproperty -propertyname portalsuperuseraccount -propertyvalue account -url webappurl'. The account should be any account that has Full Control access to the SharePoint databases but is not an application pool account.
Additional Data:
Current default super user account: SHAREPOINT\system

Entonces ejecutamos estas líneas de comando con las cuentas nuevas recién creadas y por un tiempo todo parece estar bien hasta que el cache es depurado o se inicia el IIS o el servidor.  Entonces todos los síntomas arriba mencionados se hacen presentes.

La Solución:

Debe darle permisos a nivel de cada Aplicación Web a las cuentas Super User  de Control Total  y Super Reader de Lectura.  Esto lo puede hacer según la documentación por medio de línea de comando o bien desde el Central Administration.

Personalmente me gusta más hacerlo a nivel de Central Administration para asegurarme que los permisos fueron dados. 

Pero aquí el artículo con la solución: http://technet.microsoft.com/en-us/library/ff758656#section2

O bien por brevedad ´la solución por línea de comando:

$wa = Get-SPWebApplication -Identity "<WebApplication>"

$wa.Properties["portalsuperuseraccount"] = "<SuperUser>"

$wa.Properties["portalsuperreaderaccount"] = "<SuperReader>"

$wa.Update()

* Esto debe de ejecutarse en una ventana de PowerShell que tenga cargadas las librerías de SharePoint .

En este artículo vimos como resolver el misterioso error de acceso denegando que sucede al parecer intermitentemente.

 

SharePoint4Fun!,

Juan Manuel Herrera

No hay comentarios.: