我需要知道某些(不仅是当前的)用户是否是某个组的成员。
此外,我需要知道用户是否放置在域组中,该域组位于sharepoint组中。 例如:
群组'GroupA'包含用户'XXX \ Domain Users'。我有来自域XXX的用户'XXX \ someuser',需要知道这是否是'GroupA'的成员。在这个例子中是真的。
现在我只发现了一种方式:
以指定用户身份进行模拟并检查web.SiteGroups ['GroupA']。ContainsCurrentUser
但它看起来像黑客。
答案 0 :(得分:0)
应与.NET中的相同:
principal.IsInRole('GROUPNAME')
或者您可以尝试执行以下操作:
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
if( principal.IsInRole(@"MYCOMPANY\AllFTE") ){
// perform operation allowed for fulltime employees
}
也许该帖子可以帮助您:http://mnigbor.blogspot.com/2010/05/using-windowsidentityimpersonate-in.html