En más de una ocasión he visto el requisito de que los items de una lista, o documentos de una biblioteca de documentos, sólo puedan ser editados por el mismo usuario que los creó, o por usuarios administradores, pero no puedan ser editados por otros usuarios contributors

Antes este requisito, más de una vez he visto soluciones que incluyen manejadores de eventos o workflows, que asignan permisos exclusivos a esos elementos.

Sin embargo, la mayor parte de las ocasiones, se puede solucionar con las propiedades del SPList ReadSecurity y WriteSecurity

Si ReadSecurity es igual a 2, los contributors, sólo pueden acceder a los items que han creado. Con valor 1, todos los usuarios tienen acceso de lectura.

Con WriteSecurity, podemos establecer el valor a 1, 2 ó 4. Dónde:

  • WriteSecurity = 1 : Todos los usuarios pueden modificar cualquier item
  • WriteSecurity = 2 : Los usuarios sólo pueden modificar los ítems que han creado
  • WriteSecurity = 4 : Los usuarios NO pueden modificar ningún item ya creado, sean ellos el creador, o no. Este valor suele tener sentido para listas que representan encuestas o similares.

Recordar que estas 2 propiedades no tienen efecto sobre usuarios administradores o propietario de la lista.

Saludos!!