【问题标题】:Preform IIS Basic Authentication through code instead of browser popup通过代码而不是浏览器弹出窗口执行 IIS 基本身份验证
【发布时间】:2013-08-18 22:39:21
【问题描述】:

我想做的是: 通过表单接收用户名和密码,并使用基本身份验证通过 IIS 对其进行身份验证。 问题是,我想在没有内置浏览器弹出窗口的情况下执行此操作。 有没有办法覆盖弹出窗口并通过代码进行身份验证? 我的网站在 ASP.NET 中,我使用的是 IIS7。 感谢所有帮助者!

【问题讨论】:

  • 你的意思是你想自己编写服务器端身份验证还是创建一个使用基本身份验证连接到某个网站的客户端?
  • 我的意思是我想自己编写服务器端身份验证。基本上我需要做的是从表单中获取用户名和密码,并通过 iis 基本身份验证对其进行身份验证。但它们必须来自表单,而不是来自默认浏览器弹出窗口。

标签: asp.net iis basic-authentication


【解决方案1】:

您可以将凭据放在 URL 中。参见例如https://serverfault.com/questions/371907/can-you-pass-user-pass-for-http-basic-authentication-in-url-parameters。请注意该问题中的备注,它在 IE 中不起作用。

【讨论】:

    【解决方案2】:

    基本身份验证在 http 身份验证标头中使用包含 [username:password] 的 base64 编码字符串。

    您可以在执行请求之前使用 jQuery 的标头函数简单地将其添加到您的请求中。但是错误的凭据仍然会导致弹出窗口。

    【讨论】:

    • 谢谢福斯特。我不太确定一件事:我应该将授权请求发布到哪个 url?
    • 把它放在标题中意味着您不必更改网址。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 2018-09-14
    • 2010-10-02
    • 1970-01-01
    • 2019-05-31
    相关资源
    最近更新 更多