我有一个代码,我必须检查用户是否属于某个组(假设“GroupA”)。
我将用户详细信息存储在Sharepoint变量SPUser中。现在我需要检查这个用户是否是GroupA的一部分,然后采取一些行动。
我怎样才能做到这一点?
答案 0 :(得分:1)
来源:How to check if a user exists in a group
您可以使用以下扩展方法,如下所示:
public static bool InGroup(this SPUser User, string GroupName)
{
return User.Groups.Cast<SPGroup>().Any(g => g.Name.ToLower() == GroupName.ToLower());
}
然后这样称呼:
bool inGroup = spuser.InGroup("GroupName");
如果你想检查当前用户,那么另一种方法可以是这样的:
来自:Check user already exist in specified SharePoint Group
SPWeb web = SPContext.Current.Web;
SPGroupCollection webGroups = web.Groups;
foreach (SPGroup group in webGroups)
{
//Checking the group
if (group.ContainsCurrentUser)
{
// perform action
}
else
{
//perform action
}
}
更多参考资料: