使用 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
你有没有尝试过:
创建一个新规则,选择“Send LDAP Attributes as Claims” 选择 Active Directory 作为 Attribute Store,然后选择 LDAP 属性“Token-Groups – Unqualified Names”,声明类型为“Group”
这应该发送所有组。请注意,您的 ADFS 管理员不应允许您执行这样的查询,尤其是在大型环境中。如果返回大型数据集,编写应用程序的人也可能会有点恼火(没有什么说应用程序像等待 5 分钟来解析 xml 列表那样臭)。