none
permisos dinamicos a usuarios sobre item de lista RRS feed

  • Pregunta

  • Hola, creo que el título es lo que mejor describe lo que necesito y que paso a detallar. 

    Tengo varias listas en las cuales existen, entre otros, 2 campos. uno de tipo persona y otro para grupos.

    Lo que necesito hacer es que un usuario tenga acceso a ese item solo si esta en el campo de tipo persona o si pertenece a algun grupo del campo grupo.

    Ademas de eso estos campos pueden ser modificados; por lo que si agrego o cambio la personas del campo persona o grupo, tambien se debe modificar el premisos de acceso a ese item. es decir que el permiso de acceso sea del/los usuario(s) que esten en ese momento dado en el campo persona o grupo.

    Para el despliege estos llenando por codigo un gridview con los item que cumplen la condicion en vez de utilizar el webpart que despliega la lista. con esto logro que pueda ver el listado de solo los elementos qwue debería ver. mi problema es cuando un usuario da los parametros por url y puede acceder a los items que no le muestra el listado en el gridview.

    No se me ocurre como poder restringuir el caso de la url, estaba pensando en event handler pero no existe el caso "se va a leer un elemento".... solo puedo hacerlo para que no lo modifique o elimine pero no para que no pueda leerlo.

    desde ya muchas gracias, 

    un saludo,

    Carlos

     

    jueves, 23 de mayo de 2013 14:16

Respuestas

  • Hola,

    Para restringir el acceso a la lista podrías crearte un HTTP Module que haga las comprobaciones que mencionas.

    Saludos


    ------------------------------------------------------------
    Juan Carlos González Martín MVP de SharePoint Server
    Director revista CompartiMOSS: http://www.compartimoss.com
    Blog: http://geeks.ms/blogs/ciin
    Twitter: @jcgm1978
    ------------------------------------------------------------

    • Marcado como respuesta carlospva jueves, 23 de mayo de 2013 15:39
    jueves, 23 de mayo de 2013 15:30

Todas las respuestas

  • Hola,

    Para restringir el acceso a la lista podrías crearte un HTTP Module que haga las comprobaciones que mencionas.

    Saludos


    ------------------------------------------------------------
    Juan Carlos González Martín MVP de SharePoint Server
    Director revista CompartiMOSS: http://www.compartimoss.com
    Blog: http://geeks.ms/blogs/ciin
    Twitter: @jcgm1978
    ------------------------------------------------------------

    • Marcado como respuesta carlospva jueves, 23 de mayo de 2013 15:39
    jueves, 23 de mayo de 2013 15:30
  • Hola Juan Carlos, 

    gracias por responder,

    la verdad es que tengo cero experiencia en lo que mencionas. Tendrás algún link por donde comenzar en que aborde lo que me propones..

    muchas gracias

    un saludo, 
    Carlos

    ... imagino que este es un buen comienzo:

    http://geeks.ms/blogs/ciin/archive/2012/01/11/sharepoint-2010-como-crear-y-desplegar-un-http-module.aspx

    ahora me dedico a ver el tema

    un saludo,

    Carlos

    • Editado carlospva jueves, 23 de mayo de 2013 15:38 update
    jueves, 23 de mayo de 2013 15:34
  • Hola Juan Carlos,

    2 cosas, primero lo que necesito restringuir es el acceso a los items, no a la lista, por que el acceso depende de cada item, si es que el usuario actual esta en el campo asignado o no, eso es posible hacerlo con lo que me propones?

    Segundo, seguí tu ejemplo primero agregué un modulo a mi proyecto Visual studio en el que tengo todos los otros elementos que estoy utilizando y al acceder a la url me sale:

    Could not load file or assembly 'SPHttpModuleSample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=410ab55a4b3766be' or one of its dependencies. The system cannot find the file specified.

    Luego para hacer funcionar creé un proyecto de cero siguiendo el paso a paso que tienes en el articulo mencionado, implemente el proyecto creado, pero me sigue saliendo 

    Could not load file or assembly 'SPHttpModuleSample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=410ab55a4b3766be' or one of its dependencies. The system cannot find the file specified.

    este me sale cuando le agrego la linea al webconfig.

    El proyecto esta como destino de implementación en GlobalAssemblyCache.

    Tambien hice un iisreset por si servía de algo.

    Que me falta para que me funcione la creacion del HTTP Module?

    saludos y gracias nuevamente


    • Editado carlospva jueves, 23 de mayo de 2013 21:00 update
    jueves, 23 de mayo de 2013 20:55