【问题标题】:Asp.Net Web API passing user across layersAsp.Net Web API 跨层传递用户
【发布时间】:2016-06-27 05:49:38
【问题描述】:

我正在为我的 Web API 服务使用基于令牌的身份验证。但我想跟踪所有记录的createdby、createdon 信息。所以我在AuthenticationFilter 中使用userId 设置HttpContext.Current.UserGenericIdentity。但我不想从我的数据层访问HttpContext,因为我认为数据层不应该知道任何关于HttpContext 的信息。

那么,在没有 `HttpContext' 的情况下通过层传递用户信息有什么最佳实践吗?

【问题讨论】:

    标签: asp.net asp.net-web-api


    【解决方案1】:

    将您的委托人分配给HttpContxt.Current.UserThread.CurrentPrincipal

    然后,您可以从代码中的任何位置访问Thread.CurrentPrincipal,当然甚至可以从没有引用System.Web 的项目中访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      • 2013-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多