[英]WebPart that redirect if user is not in a specific SharePoint security group
[英]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.