1
我有一個代碼,我必須檢查用戶是否屬於某個組的一部分(可以說是「GroupA」)。SPuser查找組成員身份
我有存儲在Sharepoint變量SPUser中的用戶詳細信息。現在我需要檢查這個用戶是否屬於GroupA,然後採取一些行動。
我該如何做到這一點?
我有一個代碼,我必須檢查用戶是否屬於某個組的一部分(可以說是「GroupA」)。SPuser查找組成員身份
我有存儲在Sharepoint變量SPUser中的用戶詳細信息。現在我需要檢查這個用戶是否屬於GroupA,然後採取一些行動。
我該如何做到這一點?
來源: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
}
}
對於更多參考:
這是一個偉大的方式!即使用戶是我在此處指定的組的一部分,我仍面臨1個小問題,但條件並未評估爲true。 我試過使用g.Name.Equals(「Group Name」,StringComparison.OrdinalIgnoreCase)。 – user1534235 2012-09-27 13:20:33