asp.net - 在 aspnet core 1 应用程序的逻辑层中获取 ClaimsPrincipal

标签 asp.net .net

我正在编写一个 aspnet core 1 应用程序。
使用不记名 token 身份验证,我在 Controller 内拥有具有正确身份的 User 属性。但是,我似乎无法像使用 ClaimPrincipal.Current 之前那样找到一种方法来获取身份。静止的。
在不传递 ClaimPrincipal 对象的情况下,在 BL 层中获取这些数据的当前最佳实践是什么?

最佳答案

进一步调查这个问题我发现可以使用 native DI 容器注入(inject) ClaimsPrincipal在需要这样的地方:

services.AddTransient<ClaimsPrincipal>(s =>
    s.GetService<IHttpContextAccessor>().HttpContext.User);

注入(inject)它感觉有点奇怪,但是它比将它存储在 CallContext 中要好。 .

关于asp.net - 在 aspnet core 1 应用程序的逻辑层中获取 ClaimsPrincipal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38291374/

相关文章:

c# - Entity Framework 不生成 ApplicationUser 外键

c# - 如何存储 Web 应用程序用于单词搜索的 5GB 文本文件?

c# - 在 Visual Studio Enterprise 2017 中缺少创建 GUID?

asp.net - Visual Studio 2010 中的 HTML 格式化

c# - Web.config 保存问题

.net - 设置 <sessionState cookieless ="AutoDetect"/> 时 POST 请求失败

c# - Unity Resolver 的这个 lambda 表达式是做什么的

php - 我可以将哪些服务器端 PDF 呈现组件与 .NET、PHP、Ruby 等一起使用?

c# - Ajax 调用 .Net 并发送回 cookie

c# - 从 View 按钮调用 Mvc Controller 方法