如何在自托管服务器中的某些条件下跳过基本身份验证? [英] How to skip Basic Authentication on certain conditions in self-hosted server?
本文介绍了如何在自托管服务器中的某些条件下跳过基本身份验证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
- 我有一个 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?
推荐答案
- 您需要向配置文件添加参数或使用条件编译符号.其中任何一个都将设置一个标志,然后您可以检查该标志以绕过管道中基本身份验证的连接,可能还有 this.RequiresAuthentication().
- 对于那些需要身份验证的 Nancy 模块,在传入请求中添加一个必需的 URL 参数,以便调用者提供安全令牌.
- 您将需要 REST API 进行验证安全令牌的调用,您将需要调用它并接收用户名,以便您可以创建您的 IUserIndentity.
这篇关于如何在自托管服务器中的某些条件下跳过基本身份验证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文