SPuser, чтобы найти членство в группе

У меня есть код, в котором я должен проверить, является ли пользователь частью определенной группы (скажем, "GroupA").

У меня есть пользовательские данные, хранящиеся в переменной SPUser Sharepoint. Теперь мне нужно проверить, является ли этот пользователь частью GroupA, а затем предпринять какие-то действия.

Как мне этого добиться?

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

Для получения дополнительной ссылки:

Сообщите, существует ли пользователь в SharePoint Group через веб-сервис

Другие вопросы по тегам