Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[sps 2003] probleme de droits avec un webpart (part 2 voir mess du 28/09)

2 réponses
Avatar
D_light_5
Merci de m'avoir repondu, la methode que vous m'avez fournie
GetSubwebsForCurrentUser me paraissait une tres bonne solution a mon
probleme cependant apres l'avoir implemente mon probleme persiste.
Voici le code de ma fonction construisant mon arborescence en c#:

public void Ajouts(TreeNode mon_Noeud,SPWeb ce_Web)
{

SPWebCollection cette_Collection=ce_Web.GetSubwebsForCurrentUser();
for(int i=0;i<cette_Collection.Count;i++)
{
SPWeb mon_SousSite=cette_Collection[i];
if(mon_SousSite.Permissions.DoesUserHavePermissions(SPRights.ViewListItems))
{
mon_Lien=new TreeNode(); mon_Lien.Text=mon_SousSite.Title;
mon_Lien.NavigateUrl=mon_SousSite.Url;

if(mon_SousSite.ParentWeb.Name == mon_Web.Name)
{
mon_Arbre.Nodes.Add(mon_Lien);
}
else
{
mon_Noeud.Nodes.Add(mon_Lien);
}
}
Ajouts(mon_Lien,mon_SousSite);
}
}

Donc quand je decide de consulter ce webpart avec un utilisateur
lambda et que celui ci est declare sur tous les sites WSS de SPS tous
se deroule normalement et l'arborescence de navigation s'affiche.Des
lors que je supprime cette utilisateur d'un site je n'ai plus acces a
ce webpart: sharepoint me demande login et mot de passe puis me
renvoie vers l'administrateur. Voila si vous pouviez m'eclaircir ça
m'aiderait a passer ce point stagnant.

2 réponses

Avatar
Renaud COMTE [MVP]
LE retour ;)

Jetez donc un oeil sur les sources de Jan Tielens :
Leadit.SharePoint.Essentials 1.1.2.0 :
http://weblogs.asp.net/jan/archive/2004/04/26/120508.aspx

Sinon lisez de plus pres son post , son erreur est similaire à la votre
il vous faut utilisez la propriéte "web.Site.CatchAccessDeniedException = false" pour pouvoir catcher l'exeception d'acces denied







(Je sais c'est byzarre mais ca sens le bug)

Voila

Renaud COMTE [MVP]
http://blog.spsclerics.com/


"jonathan stagiaire" a écrit :

Merci de m'avoir repondu, la methode que vous m'avez fournie
GetSubwebsForCurrentUser me paraissait une tres bonne solution a mon
probleme cependant apres l'avoir implemente mon probleme persiste.
Voici le code de ma fonction construisant mon arborescence en c#:

public void Ajouts(TreeNode mon_Noeud,SPWeb ce_Web)
{

SPWebCollection cette_CollectionÎ_Web.GetSubwebsForCurrentUser();
for(int i=0;i<cette_Collection.Count;i++)
{
SPWeb mon_SousSiteÎtte_Collection[i];
if(mon_SousSite.Permissions.DoesUserHavePermissions(SPRights.ViewListItems))
{
mon_Lien=new TreeNode(); mon_Lien.Text=mon_SousSite.Title;
mon_Lien.NavigateUrl=mon_SousSite.Url;

if(mon_SousSite.ParentWeb.Name == mon_Web.Name)
{
mon_Arbre.Nodes.Add(mon_Lien);
}
else
{
mon_Noeud.Nodes.Add(mon_Lien);
}
}
Ajouts(mon_Lien,mon_SousSite);
}
}

Donc quand je decide de consulter ce webpart avec un utilisateur
lambda et que celui ci est declare sur tous les sites WSS de SPS tous
se deroule normalement et l'arborescence de navigation s'affiche.Des
lors que je supprime cette utilisateur d'un site je n'ai plus acces a
ce webpart: sharepoint me demande login et mot de passe puis me
renvoie vers l'administrateur. Voila si vous pouviez m'eclaircir ça
m'aiderait a passer ce point stagnant.



Avatar
D_light_5
Oui merci encore, l'erreur etait bien dans cette methode bugue
DoesUserHavePermissions().