【问题标题】:Windows authentication box pops up with integrated authentication on web page弹出 Windows 身份验证框,在网页上集成身份验证
【发布时间】:2020-06-16 09:48:30
【问题描述】:

我正在运行两个带有 IIS 10.0.14393 的 Windows 服务器 2016。一台服务器用于暂存目的,一台用于生产。

应用程序在同一台 IIS 服务器上运行一个“前端应用程序”和一个“后端 REST api”。前端与后端通信(惊喜!)。我面临的困难是登台服务器按预期工作,即进入前端网页(React)时没有出现“登录”框。但是,在生产服务器上会弹出此框。

当页面加载时,有 javascript 从 API 中获取一些信息,并且似乎这种异步获取导致了弹出窗口的发生(请求处于挂起模式,直到登录)。

我研究了两台服务器上 IIS 的配置,但似乎没有发现任何明显的差异。

两个实例都为前端和后端启用了 Windows 身份验证和匿名身份验证。我需要这个,因为 API 对端点有不同类型的身份验证。

有人解决过类似问题吗?

谢谢

【问题讨论】:

  • 您是否尝试将互联网安全设置设置为使用当前用户名和密码自动登录?控制面板> Internet选项>安全选项卡>选择正确的“区域”>自定义级别>滚动到底部image
  • 感谢您的建议,但这已经设置好了。

标签: windows authentication iis ntlm


【解决方案1】:

如果有人遇到类似问题,以下链接可能会有所帮助:https://support.microsoft.com/en-us/help/258063/internet-explorer-may-prompt-you-for-a-password

在我的例子中,我使用完整的域 url 将请求发送到 api。发送请求时仅使用机器名称(在我的情况下为端口)解决了该问题。如果使用带有标点符号的整个域,则系统认为该请求是针对 Internet 而不是 Intranet,并且不会包含任何凭据。

另一个可能更强大的解决方案是将相关站点添加到:Internet 属性 -> 安全 -> 本地 Intranet -> 站点 -> 高级。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 2013-10-21
    相关资源
    最近更新 更多