Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security SharePoint Web部件权限_Security_Sharepoint_Permissions - Fatal编程技术网

Security SharePoint Web部件权限

Security SharePoint Web部件权限,security,sharepoint,permissions,Security,Sharepoint,Permissions,您好,我正在为Web部件使用SharePoint命名空间,在尝试使用系统帐户时遇到一些权限错误。是否有一种方法可以使用已定义的用户而不是系统帐户 现在我有: SPUserToken sysToken = SPContext.Current.Site.SystemAccount.UserToken; using (SPSite site = new SPSite(_SPSite, sysToken)) 我希望能够使用域上的帐户而不是系统帐户,谢谢您的建议。您可以使用SPUserCollectio

您好,我正在为Web部件使用SharePoint命名空间,在尝试使用系统帐户时遇到一些权限错误。是否有一种方法可以使用已定义的用户而不是系统帐户

现在我有:

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

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

您可以使用
SPUserCollection

SPContext.Current.Site.RootWeb.AllUsers

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

您可以使用
SPUserCollection

SPContext.Current.Site.RootWeb.AllUsers

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

您可能需要使用RunWithElevatedPermissions才能访问系统帐户,如下博文所示:


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


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

/* runs as user requesting the web part */
SPSite site = SPContext.Current.Web.site 
或者,您可以将其包装在运行WithLevelatedPrivileges委托中

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

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

/* runs as user requesting the web part */
SPSite site = SPContext.Current.Web.site 
或者,您可以将其包装在运行WithLevelatedPrivileges委托中

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

问题是“有没有办法使用已定义的用户而不是系统帐户?”问题还提到“我在尝试使用系统帐户时遇到一些权限错误”,我首先指出了一个可能发生的原因。问题是“有没有办法使用已定义的用户而不是系统帐户?”问题还提到“我在尝试使用系统帐户时遇到一些权限错误”,我在指出一个可能发生在最初的原因。