Sharepoint:如何通过API确定用户是否是组成员

发布于 2024-10-07 10:56:33 字数 279 浏览 1 评论 0 原文

我需要知道某个(不仅仅是当前)用户是否是某个组的成员。

此外,我需要知道用户是否放置在域组内,该域组放置在共享点组中。 例如:

组“GroupA”包含用户“XXX\Domain Users”。我有来自 XXX 域的用户“XXX\someuser”,需要知道这是否是“GroupA”的成员。在这个例子中确实如此。

目前我只找到一种方法:

模拟指定用户并检查 web.SiteGroups['GroupA'].ContainsCurrentUser

但它看起来像黑客。

I need know if some(not only current) user is member of some group.

Moreover, I need know if user placed inside domain group, which placed in sharepoint group.
For example:

Group 'GroupA' contains user 'XXX\Domain Users'. I have user 'XXX\someuser' from domain XXX and need to know if this is member of 'GroupA'. In this example it is true.

For now I found only one way:

Impersonate as specified user and check web.SiteGroups['GroupA'].ContainsCurrentUser

But it is look like hack.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只涨不跌 2024-10-14 10:56:33

应该与.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

Should be the same as in .NET:

principal.IsInRole('GROUPNAME')

Or you can try to do following:

WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
if( principal.IsInRole(@"MYCOMPANY\AllFTE") ){
  // perform operation allowed for fulltime employees
}

Maybe that post helps you out: http://mnigbor.blogspot.com/2010/05/using-windowsidentityimpersonate-in.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文