Pregunta

Tengo un requisito en el que tengo que ser capaz de acceder a una lista que se encuentra en la Administración central de una página de aplicación que se encuentra en mi Cliente web (WFE). El problema que tengo es que el usuario del grupo de aplicaciones para mi WFE no tiene acceso a la base de datos SharePoint_AdminContent por lo que obtener acceso denegado, ambos tienen sus propias piscinas aplicación

En los registros que muestra los siguientes:

  
      
  • Volviendo al proceso de identidad
  •   
  • El usuario actual antes SqlConnection.Open: Nombre:   SharePointDemo \ SPContentPool SID:   S-1-5-20 ImpersonationLevel: Ninguno
  •   
  • El usuario actual después de SqlConnection.Open: Nombre:   SharePointDemo \ SPContentPool: S-1-5-20   ImpersonationLevel: Ninguno
  •   
  • permisos de base de datos SQL insuficiente para el usuario 'SPContentPool'   la base de datos   'SharePoint_AdminContent_53169fb3-137c-44b2-b90e-961b656e4275' en la instancia de SQL Server 'SPNSQL'.   información de error adicional de SQL   Server se incluye a continuación. el EJECUTAR   el permiso fue denegado en el objeto   'Proc_EnumLists', la base de datos   'SharePoint_AdminContent_53169fb3-137c-44b2-b90e-961b656e4275',   esquema 'dbo'.
  •   

He tratado de runwithelevatedprivileges así como tratando método Daniel Larsons ( http://daniellarson.spaces.live.com/blog/cns!D3543C5837291E93!1919.entry ) que utiliza el usuario de SharePoint \ sistema de fichas pero sólo parece elevarse tan alto como el grupo de aplicaciones.

Estoy esperando que hay una manera fácil de hacerse pasar por el grupo de aplicaciones de la aplicación web de administración, pero han sido incapaces de encontrar una manera de hacerlo sin embargo ... O cambiar la identidad de proceso a la que tiene acceso

Cualquier pensamientos, ideas o soluciones se recibieron por suerte!

Phill

¿Fue útil?

Solución

El problema es que el grupo de aplicaciones de CA y el grupo de aplicaciones WFE tienda a ejecutarse en diferentes cuentas, que es la mejor práctica, aunque molesto cuando usted es un desarrollador. No hay una cantidad de privilegios de grúa se puede hacer usando SPSecurity.RunWithElevatedPrivileges de evitar esto.

Proporcionar a su política de seguridad lo permite, se puede dar el grupo de aplicaciones que se ejecuta su aplicación Web WFE las mismas credenciales que la Administración central del grupo de aplicaciones.

Esto se puede hacer usando la pantalla de cuentas de servicio en:

http: ///_admin/FarmCredentialManagement.aspx

Si vas por la ruta de servicio web, es posible que desee papel su propio servicio web para evitar demasiada 'chat' a través de HTTP.

Otros consejos

Usted debe tratar de utilizar el servicio Lista de web para acceder a los elementos de la lista. Y establecer las credenciales antes de conectarse al servicio web.

¿Usted ha intentado regular de ventanas suplantación ? Probablemente debería ser capaz de hacerse pasar por la cuenta de servicio y obtener acceso a la lista de esa manera.

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