c# - 在 asp.net mvc 和 web api 中为上下文用户身份返回了无效的组 SID
问题描述
我正在使用用户的身份来获取与该用户关联的所有组的 Sid,但是
在 asp.net mvc 或 web api 中调用以下内容时:
var identity = HttpContext.Current.User.Identity;
并使用以下内容获取组的 SID
var groupSids = ((ClaimsIdentity)identity)
.Claims
.Where(c => c.Type == ClaimTypes.GroupSid)
.Select(c => c.Value);
它包括用户不属于的(本地)组。
我将在一秒钟内检查其他方法,但我只是不明白为什么它会从我的机器中返回本地组 SID,我特意将自己从它们中删除以测试这一点,但无济于事。
任何想法为什么?我用错了吗?
谢谢。
更新-1:
我很困惑。当我通过 Postman 调用我的 Web API 并通过 NTML 验证我的 AD 用户时,它会返回正确的数据。
当我在我的 asp.net mvc 应用程序中并调用我的 Web API 时,我可以看到“HttpContext.Current.User.Identity”设置为我的 AD 用户,但它包含不同的 SID,就像通过 Postman 调用时一样。
为什么??
解决方案
推荐阅读
- sensenet - 在 SenseNet 中确定文件大小资源使用情况的最佳方法是什么?
- sql - 使用 NULL 值从 select 中插入 SQL
- xamarin - OnAppearing 在 iOS 和 Android 上有所不同
- algolia - Algolia 中的查询建议仪表板?
- rust - 如何使用 StructOpt 将参数解析为 Vec 而不将其视为多个参数?
- c# - Quartz.NET 和 WPF
- r - 从 R Markdown 生成两个版本的输出
- java - 将文件保存到内部存储(文档文件夹)权限被拒绝
- r - 从文件名中提取字符串并使用 mutate 创建新列
- java - 对这个链表进行排序的最简单方法