加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在aspnet核心1应用程序的逻辑层中获取ClaimsPrincipa

发布时间:2020-12-16 04:18:50 所属栏目:asp.Net 来源:网络整理
导读:我正在编写一个aspnet核心1应用程序. 使用承载令牌认证我在控制器内具有正确标识的User属性.但是我似乎找不到像使用ClaimPrincipal.Current静态之前那样抓住身份的方法. 目前最好的做法是将这些数据放在BL层中而不传递ClaimPrincipal对象? 解决方法 进一步
我正在编写一个aspnet核心1应用程序.
使用承载令牌认证我在控制器内具有正确标识的User属性.但是我似乎找不到像使用ClaimPrincipal.Current静态之前那样抓住身份的方法.
目前最好的做法是将这些数据放在BL层中而不传递ClaimPrincipal对象?

解决方法

进一步研究这个问题我发现可以使用本机DI容器在需要的地方注入ClaimsPrincipal:
services.AddTransient<ClaimsPrincipal>(s =>
    s.GetService<IHttpContextAccessor>().HttpContext.User);

这种注入感觉很奇怪,但是它比将它存储在CallContext中更好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读