繁体   English   中英

SharePoint WebPart 权限

[英]SharePoint WebPart Permissions

嗨,我正在为 webpart 使用 SharePoint 命名空间,当我尝试使用系统帐户时遇到一些权限错误。 有没有办法可以使用定义的用户而不是系统帐户?

现在我有:

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

我希望能够使用域上的帐户而不是系统帐户,感谢您的任何建议。

根据以下博客文章,您可能需要使用 RunWithElevatedPermissions 来访问系统帐户才能工作:

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

您可以使用SPUserCollection

SPContext.Current.Site.RootWeb.AllUsers

获取站点上的所有用户,并从那里获取SPUser 拥有SPUser ,您可以获得 UserToken。

你想做什么? 如果不使用令牌,web 将以与当前用户相同的权限打开

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

或者您可以将其包装在RunWithElevatedPrivileges委托中

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM