SharePoint 2010访问被拒绝-登录用户不使用';我没有权限查看此sharepoint组的mebership
我的自定义可视web部件中有一个场景,需要检查登录用户是否是sharepoint组的成员(sharepoint组或用户存储在sharepoint列表中)。实际上,如果列表中存在登录用户,他将被授予“我的自定义web部件”中的编辑权限 由于我已将组设置为“谁可以查看此组的成员资格”的组名“SharePoint_Owners”创建为“组成员”,因此由于登录用户没有查看权限,网站将抛出“访问被拒绝”错误。我的代码执行此操作时出错, SPGroup oGroup=oWebsite.SiteGroups[strgroup]///strgroup是一个组名 foreach(oGroup.Users中的SPUser-oUser){} 当我试图打开包含我的Web部件的页面时,该站点抛出此错误 有人能建议我怎么做吗?有没有一种方法可以通过编程来解决这个问题,而无需为每个组的“所有人”授予查看权限?? 我以为RunWithElevatedPrivileges可以帮我完成工作,但运气不好 请帮助尝试以下操作:SharePoint 2010访问被拒绝-登录用户不使用';我没有权限查看此sharepoint组的mebership,sharepoint,sharepoint-2010,web-parts,access-denied,Sharepoint,Sharepoint 2010,Web Parts,Access Denied,我的自定义可视web部件中有一个场景,需要检查登录用户是否是sharepoint组的成员(sharepoint组或用户存储在sharepoint列表中)。实际上,如果列表中存在登录用户,他将被授予“我的自定义web部件”中的编辑权限 由于我已将组设置为“谁可以查看此组的成员资格”的组名“SharePoint_Owners”创建为“组成员”,因此由于登录用户没有查看权限,网站将抛出“访问被拒绝”错误。我的代码执行此操作时出错, SPGroup oGroup=oWebsite.SiteGroups[
SPSecurity.RunWithElevatedPrivileges(delegate()
{
string siteURL = SPContext.Current.Site.Url;
using (SPSite safeSite = new SPSite(siteURL))
{
using (SPWeb safeWeb = safeSite.OpenWeb())
{
SPGroup group = safeWeb.Groups["SharePoint_Owners"];
bool isMember = safeWeb.IsCurrentUserMemberOfGroup(group.ID);
}
}
});
您能用try/catch块包装代码并发布准确的错误消息吗?