我能够使用 AD 凭据进行身份验证,并且请求的页面可以正常加载,但 IIS 会在每次页面更改或页面刷新时重新请求身份验证。
如果这是此类身份验证的正常行为,那么有什么更好的身份验证方法可以防止每次更改/刷新页面时都请求凭据?
我设置了一个非常简单的测试应用程序,其中包含 page1.html,其中包含指向 page2.html 的链接。单击 page2 的链接时,系统再次要求我输入凭据。我创建了一个名为 test1 的文件夹,并在 IIS 管理器中使用 DefaultAppPool 执行了“转换为应用程序”。我禁用了匿名身份验证并启用了摘要式身份验证,删除了默认授权规则并为 mydomain\testgroup 添加了允许,所有这些都是在 IIS 管理器中完成的。
目录结构为:
c:\inetpub\wwwroot\test1
------------------- page1.html
------------------- page2.html
------------------- web.config
web.config 的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" roles="mydomain\testgroup" />
</authorization>
</security>
</system.webServer>
</configuration>
更新:如果我将身份验证方法从摘要式切换到基本式,则一切都会正常工作,我可以在应用程序中的页面之间导航。为什么摘要式会导致每次页面更改时都要求输入凭据?