Hola a todos,
estoy intentando realizar una WebPart que me muestre una Vista de una
lista que se encuentra en otro Site. El tema es que quiero que si el usuario
no tiene permisos que la WebPart no aparezca. Esto se hacerlo comprobando
los permisos con la funcion DoesUserHavePermissions y en caso que no los
tenga dejar de ejecutar el código y poniendo la visibilidad de la WebPart a
false, pero he dado con un problema que no se resolver. El problema es:
Tengo un Site donde el usuario es Reader y donde está ubicada mi
WebPart. Esta WebPart lee una lista de otro Site donde este usuario tiene
únicamente permiso de "view items" en la lista que se va a mostrar. El
problema es que cuando en el código intento acceder a la lista hace que me
salte el PopUp de login del Internet Explorer y tras 3 intentos me dice que
no tiene permiso. Esto lo soluciono dando permiso de lectura sobre el site
al usuario pero no quiero que pueda entrar al site, solo quiero que pueda
ver los items de la lista. Es más, cuando compruebo los permisos del usuario
sobre la lista, me dice que si que los tiene, pero cuando intento acceder me
salta el PopUp. Os pongo el código a ver si veis algo ...
try
{
SPSite TopLevelSite = SPControl.GetContextSite(Context);
if
(!TopLevelSite.AllWebs[strSite].Permissions.DoesUserHavePermissions(SPRights.OpenWeb))
{
Exception ex = new Exception("El usuario no puede abrir el Site");
throw ex;
}
SPWeb Web = TopLevelSite.OpenWeb(strSite);
if
(!Web.Lists[strAlumniLinksList].Permissions.DoesUserHavePermissions(SPRights.ViewListItems))
{
Exception ex = new Exception("El usuario no puede ver los items de la
lista");
throw ex;
}
SPList list = Web.Lists[strAlumniLinksList];
.
Muchas gracias pro adelantado,
Ramon
Leer las respuestas