如何在自托管服务器中的某些条件下跳过基本身份验证? [英] How to skip Basic Authentication on certain conditions in self-hosted server?

查看:110
本文介绍了如何在自托管服务器中的某些条件下跳过基本身份验证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  • 我有一个 ASP.NET Web 应用程序,我们称之为 Web 应用程序 A,它是使用 OWIN 和 NancyFX 自托管的.
  • Web 应用程序 A 使用基本身份验证,它在 CustomBootstrapper.cs 中设置如下:
pipelines.EnableBasicAuthentication(new BasicAuthenticationConfiguration(
    container.Resolve<IUserValidator>(),
    "MySpecificRealm"));

  • 在向用户查询用户名和密码后,Web 应用程序 A 调用身份验证 REST API 来验证凭据并在它们有效时返回安全令牌.
  • 我被要求制作该应用的一个子集,当 URL 中指定了有效的安全令牌而不是提示输入凭据时,我们将此子集称为 Web 应用 B.
  • 下图可能有助于解释这一点:
  • 通常,Web 应用 A 中有各种模块调用:
  • this.RequiresAuthentication();
    

    当有效的安全令牌作为 URL 中的参数传递时,如何绕过身份验证?

    How can I bypass the authentication when a valid security token is passed as a parameter in the URL?

    推荐答案

    1. 您需要向配置文件添加参数或使用条件编译符号.其中任何一个都将设置一个标志,然后您可以检查该标志以绕过管道中基本身份验证的连接,可能还有 this.RequiresAuthentication().
    2. 对于那些需要身份验证的 Nancy 模块,在传入请求中添加一个必需的 URL 参数,以便调用者提供安全令牌.
    3. 您将需要 REST API 进行验证安全令牌的调用,您将需要调用它并接收用户名,以便您可以创建您的 IUserIndentity.

    这篇关于如何在自托管服务器中的某些条件下跳过基本身份验证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆