【问题标题】:What is the relationship, if any, between Active Directory groups and groups in Exchange?Active Directory 组和 Exchange 中的组之间有什么关系(如果有)?
【发布时间】:2011-06-05 02:22:51
【问题描述】:

我的任务是创建一个登录页面,允许两个特定组的成员访问 MVC 项目中的某些控制器和操作,我着手为 AD 创建一个角色提供程序。我设法通过表单身份验证对其进行了配置,并在 AD 中枚举了经过身份验证的用户所属的组。

但事实证明,我被要求为其设置此功能的组不是 AD 组。我看到很多组,但没有看到有问题的组。

请求是基于这些组出现在 Exchange 的全球通讯簿中这一事实,但似乎没有一对一的关系。

任何关系吗?

【问题讨论】:

  • 我想到的一件事是分发列表和安全组。在 AD 中创建组时,可以设置是安全组还是通讯组列表。安全组用于 ACL,而分发列表主要用于电子邮件列表和其他非 ACL 相关的东西。您如何获得您的用户所属的组?一些 API 可能只给你安全组而不是分发列表。
  • @Harvey 谢谢,是的,这就是我发现的。在 .NET 中,我打电话给 UserPrincipal.GetAuthorizationGroups(),当时有问题的组是通讯组。调用 UserPrincipal.GetGroups() 会全部返回。发布答案,我会接受。

标签: active-directory exchange-server roles active-directory-group


【解决方案1】:

Active Directory 中有两种类型的组,通讯组列表和安全组。安全组用于 ACL,而分发列表主要用于电子邮件列表和其他非 ACL 相关的东西。

  • UserPrincipal.GetAuthorizationGroups() 仅返回安全组。
  • UserPrincipal.GetGroups() 返回安全组以及分发列表。

请注意,与 UserPrincipal.GetAuthorizationGroups() 不同,UserPrincipal.GetGroups() 仅返回用户所属的直接组。如果 GroupA 包含 GroupB 而 GroupB 包含 UserX,则 userX.GetGroups() 只返回 GroupB 而不是 GroupA。

请注意,.NET 3.5 SP1 中存在错误。 UserPrincipal.GetGroups() 可能无法正常工作,您可以查看此修复程序http://support.microsoft.com/kb/969166

【讨论】:

    猜你喜欢
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多