在SharePoint开发过程中,我们经常会遇到这样一种情况:根据当前登录用户所在的组判定当前用户有没有访问某个页面或列表的权限。我写了一些简单的测试代码区判断当前登录的用户是否属于给定的用户组。如果你正在基于SharePoint 2010 或者SharePoint 2007,你会发现这些代码非常有用。
代码如下:
private bool GetGroupofUser()
{
bool flag = false;
using (SPSite siteCollection = SPContext.Current.Site)
{
using (SPWeb site = siteCollection.OpenWeb())
{
string groupName = "TestGroup";
//获取当前登录的用户
SPUser currentUser = site.CurrentUser;
//获取该用户在site/web中所有的组
SPGroupCollection userGroups = currentUser.Groups;
//循环判断当前用户所在的组有没有给定的组
foreach (SPGroup group in userGroups)
{
//Checking the group
if (group.Name.Contains(groupName))
flag = true;
break;
}
}
}
return flag;
}
{
bool flag = false;
using (SPSite siteCollection = SPContext.Current.Site)
{
using (SPWeb site = siteCollection.OpenWeb())
{
string groupName = "TestGroup";
//获取当前登录的用户
SPUser currentUser = site.CurrentUser;
//获取该用户在site/web中所有的组
SPGroupCollection userGroups = currentUser.Groups;
//循环判断当前用户所在的组有没有给定的组
foreach (SPGroup group in userGroups)
{
//Checking the group
if (group.Name.Contains(groupName))
flag = true;
break;
}
}
}
return flag;
}