栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在ASP.NET Core中模拟IPrincipal

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在ASP.NET Core中模拟IPrincipal

可以通过的来访问控制器的。后者存储在中。

User

HttpContext
ControllerContext

设置用户的最简单方法是为构造的用户分配不同的HttpContext。我们可以

DefaultHttpContext
为此目的使用,这样就不必模拟所有内容。然后,我们仅在控制器上下文中使用该HttpContext并将其传递给控制器​​实例:

var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]{    new Claim(ClaimTypes.Name, "example name"),    new Claim(ClaimTypes.NameIdentifier, "1"),    new Claim("custom-claim", "example claim value"),}, "mock"));var controller = new SomeController(dependencies…);controller.ControllerContext = new ControllerContext(){    HttpContext = new DefaultHttpContext() { User = user }};

创建自己的时

ClaimsIdentity
,请确保将显式传递
authenticationType
给构造函数。这确保了它
IsAuthenticated
可以正常工作(以防您在代码中使用它来确定用户是否已通过身份验证)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/433028.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号