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 через веб-сервис