0 votes

Autorisations pour les WebParts SharePoint

Bonjour, j'utilise l'espace de noms SharePoint pour un webpart et je rencontre des erreurs de permission lorsque j'essaie d'utiliser le compte Système. Existe-t-il un moyen d'utiliser un utilisateur défini au lieu du compte système ?

Pour l'instant, j'ai :

SPUserToken sysToken = SPContext.Current.Site.SystemAccount.UserToken;
using (SPSite site = new SPSite(_SPSite, sysToken))

Je veux pouvoir utiliser un compte sur le domaine au lieu du compte système, merci pour tout conseil.

2voto

mundeep Points 2411

Il se peut que vous deviez utiliser RunWithElevatedPermissions pour obtenir l'accès au compte Système, comme indiqué dans l'article de blog suivant :

http://solutionizing.net/2009/01/06/elegant-spsite-elevation/

1voto

ajm Points 10000

Vous pouvez utiliser le SPUserCollection

SPContext.Current.Site.RootWeb.AllUsers

pour obtenir tous les utilisateurs sur le site, et pour obtenir la SPUser à partir de là. Une fois que vous avez le SPUser vous pouvez obtenir le UserToken.

1voto

Jason Points 8799

Qu'essayez-vous de faire ? Si vous n'utilisez pas de jeton, le site web sera ouvert avec les mêmes autorisations que l'utilisateur actuel.

/* runs as user requesting the web part */
SPSite site = SPContext.Current.Web.site

ou vous pouvez l'envelopper dans le Courir avec des privilèges élevés délégué

/* runs with admin privileges */         
SPSecurity.RunWithElevatedPrivileges(
   delegate()
   {
      using (SPSite site = new SPSite(SPContext.Current.Web.Site.Url))
      {
        //do stuff
      }
   }
);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X