Los miembros del sitio / los visitantes tienen acceso denegado página de error debido a la parte web

StackOverflow https://stackoverflow.com/questions/1667246

Pregunta

I`v desarrolló parte web personalizado. Puedo añadirlo a la página y los propietarios del sitio pueden ver la página sin problemas.

Sin embargo los visitantes del sitio / usuarios redirigidos a la página de error de acceso denegado. Claro, debo estar haciendo algunas cosas usuarios normales no se les permite.

Pero lo que más me molesta es que cuando pongo punto de interrupción en el constructor parte web o incluso la declaración de variables que no vayan a dar! (Si intento ver la página con privilegios limitados). Pero en mi navegador, recibo la página de acceso denegado. Sin embargo, si cierro que parte web, de inmediato tener acceso a esa página y todo está bien.

¿Cuál es el truco aquí? Tenía la esperanza de que pudiera coger con excepción depurador para ver qué afirmación es culpable, pero parece parte web no se ejecuta ningún código y entiendo que es una excepción.

Edit: Lo siento, resulta depurador ahora golpea en esos puntos de interrupción. No sé lo que ha cambiado, porque los símbolos se cargaron.

¿Fue útil?

Solución 2

Encontrados la solución.

Resulta que calentaba para determinar si el usuario pertenece a un grupo específico al tratar de acceder a que los usuarios del grupo. Ya que esto era imposible si un usuario no tiene permisos a un tal, era lanzar algún tipo de excepción interna con el mensaje

  

"No se puede evaluar la expresión, porque   el código está optimizado o un nativo   marco es en la parte superior de la pila de llamadas ".

De todas formas, ahora aprendí a recorrer SPUser.Groups (SPGroupCollection) y comprobar si tenemos un grupo de juego en lugar de enumerar los directores de grupo y ver si está en el interior.

Otros consejos

¿Cuál es el nivel de confianza en el sitio de SharePoint? Es posible que desee dar a Fulltrust temporalmente para ver si tiene algún problema de acceso.

Si es así, entonces es posible que tenga un problema de Código de Acceso de Seguridad (CAS) en sus manos. Mi primera reacción es que su montaje no tiene privilegios que consideren necesarias para funcionar correctamente para los usuarios normales. Se puede configurar usando la entrada CAS personalizado en el manifest.xml para la parte web, por ejemplo, si está llamando a los recursos externos entonces es posible que tenga que configurar System.New.WebPermission y definir qué URL se le permite el acceso. Puede encontrar más información al respecto en la U2U sitio .

También lo hace su parte web? Si usted está tratando de acceder a los recursos, que los usuarios normales no tienen acceso a (por ejemplo, una lista de algún sitio), entonces usted tiene que utilizar el método SPSecurity.RunWithElevatedPrivilages , para que tenga los privilegios que neccessary (tenga cuidado para crear nueva instancia del sitio dentro de ese método para que los puebla de contexto correctamente).

Es necesario dar permiso (actualizar parte web personal) al grupo visitante. Sin embargo, no se recomienda. Si lo desea, puede crear un nivel de permisos por separado y asociarlo con el grupo de visitantes.

Saludos !!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top