我正在部署我的 Web 应用程序iis6
。我一直收到此“Windows 安全”弹出窗口,要求输入用户名和密码。我已经禁用了匿名用户,并检查了集成的 Windows 身份验证,但它就是不会“自动”登录。
我应该怎么办?
我已检查安全设置-本地 Intranet 区域:“仅在 Intranet 区域以自动登录方式登录”。此外,我的生产服务器是独立服务器,因此可能不保存 AD 帐户和凭据。
答案1
对于 Internet Explorer,您可能必须将服务器地址添加到本地内联网区域。IE 通常很难自行检测本地内联网服务器,因此您可能必须手动将您的站点添加到该列表中。您可以在 IE 设置中手动执行此操作,也可以使用组策略来管理 AD 域内的内联网服务器列表。您可以从菜单文件/属性中查看 IE 为您的站点选择的区域。
对于 Firefox,你必须告诉 FF 将您的网络凭据转发到该网站。在 about:config 中,你必须将网站添加到设置中
网络.自动-ntlm-auth.trusted-uris
和
网络.协商-身份验证.受信任的 URI
。
答案2
http://support.microsoft.com/?id=258063如果您需要了解所有情况,请告诉我。
我很想重写这篇可爱的文章并取得荣誉,但那是作弊。我自己也遇到过这个问题,但这篇文章救了我一命,我把它保存在 IIS 解决方案下的书签中,哈哈。
更新:
让我们明确一点,我假设您有一个装有 IIS6 的 Windows Server 2003/2003 r2 盒或 XP 机器。
在我们深入研究以下内容之前,请确保您已经在 iis6 中设置了一个新站点,指向中的一个文件夹C:\inetpub\wwwroot\
,如果没有,指向C:\MyOwnFolder
或也C:\Program Files\SomeFolder
没问题,您需要确保文件夹具有以下权限:
Inetpub\wwwroot (or C:\MyOwnFolder) Administrators Full control
Inetpub\wwwroot (or C:\MyOwnFolder) System Full control
Inetpub\wwwroot (or C:\MyOwnFolder) IIS_WPG Read, execute
Inetpub\wwwroot (or C:\MyOwnFolder) IUSR_MachineName Read, execute
Inetpub\wwwroot (or C:\MyOwnFolder) ASPNET Read, execute
来源:http://support.microsoft.com/kb/812614
现在您应该检查您的 IIS 设置。
如何在 IIS 中取消配置身份验证
启动 IIS 管理器或打开 IIS 管理单元。
展开“Server_name”(其中“Server_name”是服务器的名称),然后展开“Web 站点”。
在控制台树中,右键单击要配置身份验证的网站、虚拟目录或文件,然后单击“属性”。
单击“目录安全性”或“文件安全性”选项卡(根据需要),然后在“匿名和访问控制”或“身份验证和访问控制”下单击“编辑”。
单击以取消选中当前所需的身份验证方法旁边的所有选项,然后单击“确定”。
点击勾选启用匿名访问
确保用户名设置为 MACHINENAME\IUSR_MACHINENAME,显然将 MACHINENAME 替换为您的服务器/机器的名称。
IUSR 是一个内置帐户,它应该自动进行自我验证
来源:http://support.microsoft.com/kb/324274(本文与我刚才向您展示的做法相反)
尝试所有这些,如果没有用,我会给出一些进一步的步骤,有十亿零一件事你可以检查。
答案3
您应该检查 Windows 中的文件身份验证。例如经过身份验证的用户组。您需要注意两种身份验证。IIS 身份验证和文件系统访问。
答案4
好吧,我是 Dotnet 的新手,我不知道对我有用的解决方案是否与上面的解决方案相同,但无论如何,这就是我所做的。
我们在上传实用程序中也遇到了问题,每当用户单击“上传”按钮时,就会弹出一个弹出窗口要求输入凭据(最初从未发生过),最终导致“401 无效凭据”错误。
您只需转到服务器上 IISNET 管理器中的相关文件夹/网站,右键单击并检查安全性。添加应具有上传权限的用户/组,并授予他们完全权限(如果尚未存在)。
发布此更改后,他们应该能够访问/上传文件而无需任何凭据提示。