2010-05-18 4 views
0

Ainsi, j'attrape des données à partir d'une liste d'annonces de Sharepoint 2007 et je l'affiche sur un autre site. Je dois m'assurer que la partie Web que j'ai créée n'est pas affichée pour les personnes qui n'ont pas d'autorisations pour le site dont je reçois les données. Comment "désactiver" le composant WebPart si un utilisateur ne dispose pas d'autorisations?Afficher la partie Web en fonction des autorisations

J'ai essayé this.enabled = false dans le cas onload(), ne fonctionnait pas bien.

Répondre

1
protected override void Render(HtmlTextWriter output) { 
    if (i have permissions) { 
     base.Render(output); 
    } 
} 

Et pour éviter UnauthorizedAccessException (s), assurez-vous de vérifier si l'utilisateur dispose des autorisations appropriées dans tout autre endroit où vous accédez à des toiles, des listes et des données.

+1

Le titre de la partie Web n'est-il pas toujours affiché sur la page? et juste pas de contenu rendu? – pinniger

0

Je ne suis pas certain de ce que vous entendez par "désactiver" le composant WebPart. Votre partie ne peut simplement pas afficher de balisage si l'utilisateur actuel n'a pas le droit d'afficher la liste des annonces.

+0

Je veux dire que je ne veux pas que la partie web apparaisse. Actuellement, si l'utilisateur ne dispose pas des autorisations, il génère une erreur d'autorisation refusée, que je ne peux pas afficher sur la page d'accueil du site SharePoint. Je n'ai donc pas besoin d'afficher le composant WebPart, comme le ciblage d'audience. – pinniger

+0

Ensuite, vous définissez la propriété Hidden sur true lorsque l'utilisateur n'a pas les droits pour afficher la liste des annonces. –

+0

OK. Vous définissez la propriété Hidden sur le composant WebPart sur true lorsque l'utilisateur actuel n'a pas les autorisations pour afficher la liste des annonces. –

0

Pour masquer une partie Web tout à fait, définissez Hidden propriété de la partie Web à true. Nous suivons cette approche pour masquer une partie Web basée sur l'existence/l'absence de certaines propriétés dans le profil d'un utilisateur.

Une partie web cachée est encore sur la page, et participe au cycle de vie de la page, mais ce n'est pas visible pour les utilisateurs. Si vous rencontrez toujours des problèmes avec les erreurs d'autorisations, essayez d'intercepter l'exception spécifique et utilisez-la comme test pour masquer ou non la pièce.

Certes, il y a des façons plus élégantes aux autorisations de contrôle, mais cette approche devrait être rapide et facile.

Questions connexes