我已按照本文使用本地 ADFS 联合构建演示应用程序。
我可以使用简单的代码为用户获取所需的信息
Dim UserEmail = System.Security.Claims.ClaimsPrincipal.Current.FindFirst(System.IdentityModel.Claims.ClaimTypes.Email).Value
但是如何获取用户名所属的用户组并检查用户帐户是否是 Active Directory 中 Windows 组的成员?
我尝试使用 System.Security.Claims.ClaimsPrincipal.Current.IsInRole
来检查用户是否在组中,但它不起作用
最佳答案
在 ADFS 声明规则中,您需要配置规则“将 LDAP 属性作为声明发送”/“ token 组 - 不合格名称”并映射到“角色”作为“传出声明类型”。
ADFS 然后以角色格式提供用户所属的所有安全组,WIF 将它们映射到 IsInRole 构造。
关于asp.net - 如何从本地 ADFS 声明中获取用户组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24610956/