iis - 每个请求的 Kerberos 挑战
问题描述
我使用 Kerberos 身份验证在 IIS(版本:10)中托管了几个应用程序。并且所有 Web 应用程序都配置在一个网站下。
仅启用 Windows 身份验证。
我观察到的是每个请求我得到 401,然后是 200。第一次调用的期望是 401,然后是 200,因为它已经过身份验证,所以从同一个客户端到同一个 api 的所有后续调用都是 200。
我尝试应用 authPersistSingleRequest="false" 进行 Windows 身份验证。注意:这是在 Windows 身份验证的 asp.net mvc 应用程序中引用每个资源(2 x 401.2 和 1 x 200)的 3 个请求之后完成的
然后我可以看到一个 api(Web 应用程序)现在正在按预期工作。而且我们仍然对其他 api 有问题(在不同的 Web 应用程序中)。
谁能帮助我了解除了我上面提到的之外是否还有其他设置可以使其按预期工作。
解决方案
确保您使用应用程序池正确配置了 spn 帐户。
打开 IIS 管理器并选择配置编辑器。
在下拉菜单中选择 system.webServer > security > authentication > windowsAuthentication
将 useAppPoolCredentials 设置为 True。
在 Internet Explorer 中,将站点地址添加到受信任的网站列表中,并在用户身份验证 -> 受信任区域站点设置中的登录中指定使用当前用户名和密码自动登录。
有关更多详细信息,请参阅以下链接:
推荐阅读
- python - no-build-isolation 有什么作用?
- c++ - 无法在 MacOs 下用 C++ 打开文件
- javascript - 如何在 React 中过滤多个值
- html - 使用选定的 Wordpress 更改单选按钮的颜色
- sql - 如何在一个查询中插入和更新
- python - 如何检查模块是否已安装或未在 shell 中使用子进程?
- sql - 如何显示具有给定值的行并在一个查询中显示具有该值的行数?
- spring-boot - 根据在 JPA 中保存订单号的特定列对列表进行排序/重新排序
- java - JNI 错误:线程“主”java.lang.NoClassDefFoundError 中的异常
- java - String.format() 用数字前导零舍入双精度 - Java