在 ADFS 中获取嵌套用户组

在 ADFS 中获取嵌套用户组

尝试在使用 ADFS 进行身份验证时获取用户的所有组和嵌套组

基本上我有一个像这样的结构

  • 组 1 -> 子组 1,子组 2
  • 组2->子组3,子组2
  • 组 3 -> 子组 1,子组 4

如果我将 Group1 和 group3 添加到我的用户中,我希望返回

  • 组1
  • 子组1
  • 子组2
  • 第3组
  • 子组4

我有这个疑问

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/ws/2008/06/identity/claims/role"), query = ";tokenGroups;{0}", param = c.Value);

但它只返回 group1, group3

答案1

你有没有尝试过:

创建新规则,选择“将 LDAP 属性发送为声明”,选择 Active Directory 作为属性存储,并选择 LDAP 属性“Token-Groups – 非限定名称”,声明类型为“组”

这应该会发送所有组。请注意,您的 ADFS 管理员不应该允许您执行这样的查询,尤其是在大型环境中。如果返回大量数据集,编写该应用程序的人也可能会有点恼火(没有什么比等待 5 分钟来解析 xml 列表更能说明该应用程序很糟糕了)。

相关内容