Pregunta

Tengo un problema extraño para crear mis sitios programáticamente. Como mucha gente, conozco el método createpersonalsite de la clase de uso del usuario. Mi escenario es cuando un usuario hace clic en algún botón, creará automáticamente su mi sitio por código.

El problema es que parece ser imposible. De hecho, el CreatePersonalsite parece estar dedicado a la aplicación de administración que tiene acceso a la base de datos de contenido de MySite como DBOWNER. Cuando intento hacerlo con el contexto del usuario actual que está haciendo clic en el botón, tengo un acceso denegado desde SQL Server, que me dice que la cuenta de servicio que se conecta con el contenido de MySite DB no puede acceder. Lo que es normal, ya que la aplicación web de MySite se está ejecutando con otra cuenta de la piscina de la aplicación que el sitio donde el usuario hace clic en el botón.

Entonces, mi pregunta es ¿cómo puedo hacer para crear el sitio personal conectado como un usuario normal en una aplicación web diferente a la MySite One? Pensé en crear una solicitud web a la colección de sitios MySiteHost + "/_layouts/mysite.aspx", pero esta muy sucia. De lo contrario, puedo dar acceso a DBOWNER al contenido de My Sitio DB a la cuenta de la aplicación de la aplicación de la aplicación web donde el usuario está haciendo clic en el botón ... ¿Pero es seguro y se puede hacer sin problemas?

gracias.

¿Fue útil?

Solución

¿Así que quieres que se inicie el usuario, pero no como parte del proceso predeterminado que está en su lugar visitando la página de /_layouts/mysite.aspx?

Es probable que utilice el botón para redistribuirlos a la página de aprovisionamiento, que, por supuesto, incluirá los controles para asegurarse de que el sitio aún no exista.De lo contrario, y usted realmente desea hacer algo personalizado, puede usar la opción de imprivilegios de ejecución que se ejecutará como la cuenta utilizada para el grupo de aplicaciones. http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

En general, en los casos en que he tenido que provisiones programáticamente, se están realizando a granel, y por un usuario administrativo.Probablemente utilice PowerShell en este caso.

Otros consejos

¿Puede verificar y confirmar si otros usuarios pueden buscar la página "Acerca de mí" del Myite creado por la aplicación de la consola programáticamente?

También tenga en cuenta que en este escenario, el MySite del usuario que se ha creado de manera programática, ese usuario en particular no ha visitado su miite por creación.

Licenciado bajo: CC-BY-SA con atribución
scroll top