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

前端之家收集整理的这篇文章主要介绍了asp.net – 在aspnet核心1应用程序的逻辑层中获取ClaimsPrincipal前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个aspnet核心1应用程序.
使用承载令牌认证我在控制器内具有正确标识的User属性.但是我似乎找不到像使用ClaimPrincipal.Current静态之前那样抓住身份的方法.
目前最好的做法是将这些数据放在BL层中而不传递ClaimPrincipal对象?

解决方法

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

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

猜你在找的asp.Net相关文章