Blog del CIIN

Blog del Centro de Innovación en Integración de Cantabria

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

SharePoint Online: Como permitir que usuarios anónimos escriban en una lista que requiere autenticación!

Cuando nos encontramos con la necesidad de qué usuarios anónimos puedan escribir datos en una lista de  SharePoint Online, tenemos que recurrir a un pequeño desarrollo que haga posible esto teniendo en cuenta que no es posible hacer elevación de privilegios:

  • En VS 11 Beta, creamos un proyecto de tipo SharePoint 2010 Project.
  • Elegimos como tipo de despliegue “Deploy as a sandboxed solution”.
  • Añadimos una característica al proyecto que configuramos de acuerdo a nuestras necesidades. Añadimos un Feature Event Receiver a la feature.
image image image
  • Codificamos el manejador para el evento FeatureActivated() de forma que configuremos el acceso anónimo a una lista. Lo que tenemos que hacer por una parte romper la herencia de permisos de la lista con respecto al sitio principal para a continuación especificar la secuencia de permisos a aplicar par el caso de acceso anónimo (propiedad AonymousPermMask64).
   1: SPWeb web = properties.Feature.Parent as SPWeb;
   2: SPList list = web.Lists["Productos"];
   3: // Chequear si tiene permisos unicos
   4: if (!list.HasUniqueRoleAssignments)
   5: {
   6:     list.BreakRoleInheritance(true);
   7:     //Aseguramos que cada uno pueda editar sus propios items
   8:     list.WriteSecurity = 2;
   9:  
  10:     // Concedemos permisos a usuarios anonimos
  11:     list.AnonymousPermMask64 =
  12:         (SPBasePermissions.Open |
  13:          SPBasePermissions.OpenItems |
  14:          SPBasePermissions.ViewFormPages |
  15:          SPBasePermissions.ViewListItems |
  16:          SPBasePermissions.AddListItems);
  17:  
  18:     list.Update();
  19: }
  • Lo siguiente simplemente es desplegar la solución Sandbox en SharePoint Online, proceso que con VS 11 Beta se simplifica.
  • Activamos la solución en la galería de soluciones Sandbox del sitio.
  • Activamos la correspondiente característica.
image image image
  • Comprobamos que efectivamente la rotura de permisos se ha realizado a través de las opciones de administración de la lista y en concreto la relativa a la gestión de permisos. Vemos como además los usuarios anónimos aparecen con permisos en la lista.
  • Finalmente, simplemente navegamos a la lista de forma anónima y comprobamos que podemos interactuar con ella.
image image
  • Por supuesto, cuando se desactive la característica deberíamos deshacer la rotura de permisos de forma que la lista vuelva a heredarlos. Para ello codificamos el manejador de FeatureDeactivating() de la siguiente forma:
   1: public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
   2: {
   3:     SPWeb web = properties.Feature.Parent as SPWeb;
   4:     SPList list = web.Lists["Productos"];
   5:     // Chequear si tiene permisos unicos
   6:     if (list.HasUniqueRoleAssignments)
   7:     {
   8:         list.ResetRoleInheritance();
   9:         list.Update();
  10:     }
  11: }

Published 19/3/2012 21:20 por Juan Carlos González Martín

Comparte este post:

Comentarios

# SharePoint 2010: Resumen de posts (XXIX)!@ Sunday, April 01, 2012 4:13 PM

Como siempre , después del recopilatorio de enlaces interesantes sobre SharePoint 2010 os dejo el resumen

Blog del CIIN

# Office 365: Resumen de posts (IV)!@ Monday, April 02, 2012 10:03 AM

Ya tocaba hacer un primer resumen de posts sobre Office 365 publicados en el blog del CIIN desde el resumen

Blog del CIIN

# ¡Office 365: Resumen de posts (IV)! @ Monday, April 02, 2012 10:31 AM

Os dejo un primer resumen en 2012 de posts sobre Office 365 publicados en el blog del CIIN desde el resumen

Blog de Microsoft Office 365

# Eventos: Materiales del WebCast de desarrollo en SharePoint Online!@ Friday, April 20, 2012 8:35 AM

Ya tenéis disponible para descarga los materiales del WebCast de desarrollo en SharePoint Online en Office

Blog del CIIN

# ¡Materiales del WebCast de desarrollo en SharePoint Online!@ Friday, April 20, 2012 8:39 AM

Ya tenéis disponible para descarga los materiales del WebCast de desarrollo en SharePoint Online

Blog de Microsoft Office 365

# SharePoint Online: Como publicar un calendario privado en mi sitio público!@ Thursday, May 17, 2012 8:25 AM

Hace un tiempo publicada como dado un sitio público de SharePoint Online (SPO) en Office 365, podemos

Blog del CIIN

# ¡Como publicar un calendario privado en mi sitio público de SharePoint Online!@ Thursday, May 17, 2012 8:29 AM

Hace un tiempo publicada como dado un sitio público de SharePoint Online (SPO) en Office 365,

Blog técnico de Office 365

# SharePoint Online: Como quitar el acceso anónimo en subsitios del sitio público!@ Sunday, July 29, 2012 9:54 PM

Cuando creamos un subsitio bajo el sitio público de SharePoint Online, nos encontraremos que por

Blog del CIIN