【问题标题】:Authenticating by Request Header in ASP.NET Core通过 ASP.NET Core 中的请求标头进行身份验证
【发布时间】:2021-11-20 00:59:06
【问题描述】:

我正在开发一个 Intranet 应用程序,该应用程序将托管在执行用户身份验证的设备后面,然后将唯一的用户标识符添加到它通过的每个授权请求的标头中。也就是说,所有困难的事情都已经完成了。

如何配置 ASP.NET Core 以使用提供的标头?具有关联请求标头的用户帐户可从 Entity Framework 访问,但它是 Oracle 提供程序,具有非标准模式。我正在使用.net 5.0。 我认为这实现起来相对简单,但我已经研究了几天的文档,到目前为止,我只发现了一些不太符合我需要的东西。

我不是在寻找一个完整的解决方案,只是希望指向正确的方向。我不确定我到目前为止所写的内容是否正确,但我正在试验的项目基于dotnet new mvc --auth individual 起始模板。任何建议或示例将不胜感激。

【问题讨论】:

    标签: asp.net-core http authentication request header


    【解决方案1】:

    如果我的问题是正确的,那么所有困难的东西都没有了,现在我们只需要根据给定的userId 提取相关信息。

    如果是这种情况,我建议您定义自己的AuthenticationMiddleware,这不会做任何与验证用户相关的事情,而是从某个地方提取用户信息并缓存它(具有合理的过期时间并清除缓存通过关键机制)。

    然后,每个请求都紧随其后,只需从缓存中获取信息,然后构建我们自己的 User 对象,该对象将坚持每个 HttpContext。这是我们应该追求的最终结果。

    应该使用AuthenticationSchemeOptionsAuthenticationHandler 来构建我们自己的身份验证中间件的所有过程。看看this 会是一个很好的起点。

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多