1

我有一个代码,我必须在其中检查用户是否属于某个组(比如说“GroupA”)。

我将用户详细信息存储在 Sharepoint 变量 SPUser 中。现在我需要检查这个用户是否是 GroupA 的一部分,然后采取一些措施。

我怎样才能做到这一点?

4

1 回答 1

1

来源: 如何检查用户是否存在于组中

您可以使用以下扩展方法,如下所示:

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
 }
}

更多参考:

通过 Web 服务判断用户是否存在于 SharePoint 组中

于 2012-08-03T07:40:08.750 回答