Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas con permisos de Sharepoint

Estas en el tema de Problemas con permisos de Sharepoint en el foro de .NET en Foros del Web. Buenas a todos Tengo un webService con el que creo dentro de un sitio en sharepoint una estructura de carpetas en las que los usuario ...
  #1 (permalink)  
Antiguo 10/07/2008, 05:36
Avatar de Thencho  
Fecha de Ingreso: septiembre-2005
Ubicación: Donosti, munduko politena
Mensajes: 83
Antigüedad: 19 años, 1 mes
Puntos: 1
Problemas con permisos de Sharepoint

Buenas a todos

Tengo un webService con el que creo dentro de un sitio en sharepoint una estructura de carpetas en las que los usuario va a poder cargar documentos.

Lo normal es que estas carpetas hereden los permisos, pero hay otras en las que los permisos se los tengo que poner yo con programación.

Con el codigo de abajo creo la estructura de las carpetas y le doy los permisos.

Código:
For Each itemFolder As SPListItem In miLista.Folders
                tmp = itemFolder.Url.ToString
                tmp = tmp.Replace(miLista.RootFolder.Name, miLista.Title + "/" + dato)

                folderDestino = miWebDestino.Folders.Add(tmp)

                If Not folderDestino.Item.HasUniqueRoleAssignments Then
                    folderDestino.Item.BreakRoleInheritance(True)
                End If

                UserCollection = miWebDestino.SiteUsers
                User = UserCollection("dominio\usuario")
                roleDef = miWebDestino.RoleDefinitions.GetByType(SPRoleType.Administrator)

                roleAsig = New SPRoleAssignment(User)
                roleAsig.RoleDefinitionBindings.Add(roleDef)

                folderDestino.Item.RoleAssignments.Add(roleAsig)
                folderDestino.Update()
            Next
El problema es que la primera vez, cuando se crean todas las carpetas cuando llega al punto folderDestino.Item.RoleAssignments.Add(roleAsig), da el siguiente error "La validación de seguridad de esta página no es correcta. Haga clic en Atrás en el explorador Web, actualice la página y vuelva a intentar la operación.".

Despues en la siguiente ejecución, como ya estan creadas las carpetas, mete bien los permisos.

No entiendo porque funciona shareoint de esta manera, pero parece que hasta que no acaba la ejecucion no valida las carpetas que he metido y por eso no puede meter los permisos.

Si alguien sabe como arreglar esto, o le ha pasado alguna vez, contarme algo.

Un saludo.
__________________
Bueno PEÑA
AGUR !!! :adios:
  #2 (permalink)  
Antiguo 10/07/2008, 11:15
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 8 meses
Puntos: 50
Respuesta: Problemas con permisos de Sharepoint

Cita:
No entiendo porque funciona shareoint de esta manera,
Lo que pasa es que cuando programas bajo la API de sharepoint muchas veces las listas, componentes, items, etc no los actualiza en el momento, tienes que estar haciendo refresh de los mismos o en su defecto crear nuevos objetos para que haya independencia

intenta hacerlo de ésta forma

Cita:
...
...
roleAsig = New SPRoleAssignment(User)
roleAsig.RoleDefinitionBindings.Add(roleDef)

roleAsig = New SPRoleAssignment(User) 'crea el objeto nuevamente
folderDestino.Item.RoleAssignments.Add(roleAsig)
folderDestino.Update()
si esto no te funciona intenta crear un objeto folderDestino donde no hagas referencia a ninguno y solamente hagas el update

Espero haber sido claro

Cualquier cosa por aqui seguimos

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 11/07/2008, 01:18
Avatar de Thencho  
Fecha de Ingreso: septiembre-2005
Ubicación: Donosti, munduko politena
Mensajes: 83
Antigüedad: 19 años, 1 mes
Puntos: 1
Respuesta: Problemas con permisos de Sharepoint

Buenas RootK

Gracias por responder, he intentado a hacer lo que me has comentado. Y sige sin funcionar:

1-
Código:
roleAsig = New SPRoleAssignment(User)
roleAsig.RoleDefinitionBindings.Add(roleDef)

roleAsig = New SPRoleAssignment(User) 'crea el objeto nuevamente
folderDestino.Item.RoleAssignments.Add(roleAsig)
folderDestino.Update()
Con esto dice que no puede añadir el roleAsig porque esta vacio, porque al hacer la nueva instancia del roleAsig los permisos que le habia añadido antes se pierden.


2- Sobre lo segundo que me dices no te entiendo muy bien, pero he intentado hacer algo asi. Y me sigue pasando el mismo error que al principio.
Código:
 For Each itemFolder As SPListItem In miLista.Folders
                tmp = itemFolder.Url.ToString
                tmp = tmp.Replace(miLista.RootFolder.Name, miLista.Title + "/" + dato)

                folderDestino = miWebDestino.Folders.Add(tmp)

                folderDestino.Update()

                folderPermisos = miWebDestino.Folders(biblioteca).SubFolders(dato).SubFolders(itemFolder.Name)

                If Not folderPermisos.Item.HasUniqueRoleAssignments Then
                    folderPermisos.Item.BreakRoleInheritance(True)
                End If

                UserCollection = miWebDestino.SiteUsers
                User = UserCollection("gglocal\jorge")
                roleDef = miWebDestino.RoleDefinitions.GetByType(SPRoleType.Administrator)

                roleAsig = New SPRoleAssignment(User)
                roleAsig.RoleDefinitionBindings.Add(roleDef)

                folderPermisos.Item.RoleAssignments.Add(roleAsig)
                folderPermisos.Update()
            Next
No se me ocurre como poder hacerlo.

Un saludo y antetodo, gracias.
__________________
Bueno PEÑA
AGUR !!! :adios:
  #4 (permalink)  
Antiguo 16/12/2009, 12:29
 
Fecha de Ingreso: diciembre-2009
Mensajes: 1
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Problemas con permisos de Sharepoint

Checa esta liga yo creo que te puede servir

http://blogs.renacimiento.com/aarias/archive/2009/08/18/%5Bmoss%5D-la-propiedad-allowunsafeupdates.aspx
  #5 (permalink)  
Antiguo 14/12/2011, 13:57
 
Fecha de Ingreso: diciembre-2011
Mensajes: 2
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Problemas con permisos de Sharepoint

Hola,

Siguiendo con el tema y como experto en cloud, os propongo que veais soluciones mucho mas faciles y baratas de utilizar para el intercambio de informacion dentro y fuera del firewall a traves de un acceso web y creando proteccion sobre los documentos y diferentes roles sobre los usuarios. En mi compania vemos una gran demanda de repositorios corporativos que han fracasado con sharepoint. Simplemente acciendo desde un navegador web y sin necesidad de instalar plugins, programar, comprar licencias, mantener servidores y un sinfin de problemas tienes acceso a la informacion, tanto como intranet y extranet en un mismo sitio, controlas quien y cuando accede a los documentos, tienes business intelligence con reports avanzados y proteges los documentos de forma segura. Preguntas y repuestas en la misma plataforma sin tener que enviar email y muchas mas features como nuestra herramienta de carga masiva de documentos con la tecnologia drag and drop con la que subes tus documentos al servidor en minutos dependiendo del tamano. Si quereis mas info visitar intralinks.com o contactarme, sera un placer ayudar!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:35.