我正在尝试在我的 mvc.net Web 应用程序上设置基本身份验证。我使用以下示例配置了我的控制器:asp mvc 3 ActionFilter for basic authentication
我设置了一个断点来检查授权标头,但是标头不存在于 HttpRequest 中。我正在访问这样的网站:
http://user1:pass1@localhost/{AppName}/Client/Authorize
如果我从控制器中删除 [BasicAuthorization] 属性,我就可以访问该页面。
我在 Windows 7 机器上使用 IIS 7.0 对此进行调试。
我认为这可能与 IIS 中的默认授权设置有关。当我抛出 HttpUnauthorizedResult() 异常时,Chrome 中会弹出一个用户名/密码框...我不确定如何告诉 IIS 使用我的自定义代码来验证用户身份。
人类用户无法访问此应用程序,因此需要在 URL 中传递用户名/密码,如上所示。
我还发现了这篇文章:No browser is sent Authorization info in header。在 IIS 将 UnauthorizedRequest 发送到浏览器后,我尝试发送两次请求,但那是弹出用户名/密码对话框的时候。我也不确定如何使用该 Curl 命令进行测试...是通过 CMD 吗?