如何在自托管服务器中的某些情况下跳过基本身份验证?

问题描述 投票:0回答:1
  • 我有一个ASP.NET Web应用程序,我们称它为Web App A,它是使用OWIN和NancyFX自托管的。
  • Web应用程序A使用基本身份验证,该身份验证是在CustomBootstrapper.cs中设置的,如下所示:
pipelines.EnableBasicAuthentication(new BasicAuthenticationConfiguration(
    container.Resolve<IUserValidator>(),
    "MySpecificRealm"));
  • 向用户查询用户名和密码后,Web应用程序A调用身份验证REST API来验证凭据,如果有效,则返回安全令牌。
  • 当我在URL中指定了有效的安全令牌而不是提示输入凭据时,我被要求制作该应用程序的子集,我们称此子集为Web App B。
  • 以下图片可能有助于说明这一点:enter image description here
  • 通常,Web App A中有各种模块调用:
this.RequiresAuthentication();

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

c# owin nancy
1个回答
1
投票
  1. 您需要将参数添加到配置文件或使用条件编译符号。这些方法中的任何一个都将设置一个标志,然后您可以检查该标志以绕过管道中基本身份验证的连接,并可能绕过this.RequiresAuthentication()。
  2. 对于那些需要身份验证的Nancy模块,将必需的URL参数添加到传入请求中,以供调用方提供安全令牌。
  3. 您将需要REST API进行验证安全性令牌的调用,并且需要对其进行调用并接收回userName,以便您可以创建IUserIndentity。
© www.soinside.com 2019 - 2024. All rights reserved.