使用集成的Windows身份验证接收登录提示

我有一个Windows 2003 Server的IIS 7下运行的.NET 3.5应用程序,由于继续提示输入登录名,无法使集成的Windows身份验证正常工作。我已在IIS中将Windows身份验证设置为启用,同时禁用了所有其他安全类型,并且我的应用程序web.config文件身份验证/授权设置为:


<system.web>

    <compilation debug="true" strict="false" explicit="true" targetFramework="3.5" />

    <authenticationmode="Windows"/>

    <authorization>

    <deny users = "?" />

    </authorization>

</system.web>

通过此设置,我期望Windows用户在后台进行验证,以允许访问并拒绝匿名用户。但是,当我尝试访问该站点时,出现的是Windows登录弹出窗口。


我已经对这个问题进行了几天的故障排除,无法解决问题。根据出现类似问题的帖子,我确认我的URL不包含任何句点,再次检查了我的IE设置是否设置为“启用集成Windows身份验证”,并且还将URL添加到了我的Intranet网站,但仍然弹出。


为了进一步解决问题,我在IIS中启用了匿名身份验证,并修改了我的web.config文件,然后我添加了它,然后添加了Response.Write(System.Security.Principal.WindowsIdentifity.getcurrent()。user.name.toString() )以尝试查看身份验证中正在使用的用户。我得到的结果是IIS APPPOOL \ myapp,这显然是我的应用程序的IIS应用程序池。


我非常感谢任何人都可以提供的任何帮助,以便我仍然仅使用Windows身份验证,但不会弹出窗口,并且Windows身份验证是针对实际Windows用户执行的。


谢谢。


进一步排除故障后的附加说明:


刚刚注意到,当登录失败并再次显示Windows登录提示时,它会显示尝试登录为“ SERVERNAME” \“ USERNAME”的用户名,这使我相信它正在尝试针对服务器验证用户名,域。为了确认这一点,我直接在应用服务器上使用与网络域用户相同的用户名和密码创建了一个本地用户帐户,然后尝试再次登录。结果是我再次收到登录提示,但是这次输入用户名和密码时,我能够成功登录。网络用户和应用服务器位于同一域上,因此真的不确定为什么IIS身份验证指向本地应用服务器帐户而不是域帐户。我意识到这是一个IIS问题,因此请在forums.iis上发布。


尚方宝剑之说
浏览 1032回答 3
3回答

阿晨1998

加入许可[域用户]您的网络安全。站点文件夹下您的网站在IIS中右击单击编辑权限...选择安全选项卡在“组或用户名”部分下,单击“编辑...”按钮在权限弹出,集团下属或用户名,单击Add ...在对象名称中输入[Domain Users]以选择文本区域,然后单击“确定”以应用更改单击“确定”关闭“权限”弹出窗口单击“确定”关闭“属性”弹出窗口并应用新设置
打开App,查看更多内容
随时随地看视频慕课网APP