我有一个代码,我必须在其中检查用户是否属于某个组(比如说“GroupA”)。
我将用户详细信息存储在 Sharepoint 变量 SPUser 中。现在我需要检查这个用户是否是 GroupA 的一部分,然后采取一些措施。
我怎样才能做到这一点?
我有一个代码,我必须在其中检查用户是否属于某个组(比如说“GroupA”)。
我将用户详细信息存储在 Sharepoint 变量 SPUser 中。现在我需要检查这个用户是否是 GroupA 的一部分,然后采取一些措施。
我怎样才能做到这一点?
来源: 如何检查用户是否存在于组中
您可以使用以下扩展方法,如下所示:
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");
如果要检查当前用户,则另一种方法可以是这样的:
来自:检查用户是否已存在于指定的 SharePoint 组中
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
}
}
更多参考: