Security SharePoint Web部件权限
您好,我正在为Web部件使用SharePoint命名空间,在尝试使用系统帐户时遇到一些权限错误。是否有一种方法可以使用已定义的用户而不是系统帐户 现在我有: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
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
}
}
);
问题是“有没有办法使用已定义的用户而不是系统帐户?”问题还提到“我在尝试使用系统帐户时遇到一些权限错误”,我首先指出了一个可能发生的原因。问题是“有没有办法使用已定义的用户而不是系统帐户?”问题还提到“我在尝试使用系统帐户时遇到一些权限错误”,我在指出一个可能发生在最初的原因。