当前位置:  开发笔记 > 后端 > 正文

ASP MVC预览5和IIS 6 Windows身份验证

如何解决《ASPMVC预览5和IIS6Windows身份验证》经验,为你挑选了1个好方法。

我刚刚建立了一个基本的ASP MVC网站,可以在我们的内部网上进行部署.它希望用户与IIS框位于同一个域中,如果您不是经过身份验证的Windows用户,则不应该访问.

我刚刚将它部署到运行在Server 2003 R2 SP2上的IIS6.Web应用程序配置了自己的池,并拥有自己的池用户帐户.Web应用程序的IIS目录安全性选项仅设置为"Windows Integrated Security",web.config文件具有:


从IIS6服务器本身的远程桌面会话,如果通过http:// localhost/myapp访问,IE7浏览器窗口可以成功验证和导航Web应用程序.

但是,同样来自服务器,如果通过服务器的名称访问(即http:// myserver/myapp),则IE7会显示一个凭据对话框,在三次尝试输入正确的凭据后最终返回"HTTP错误401.1 - 未经授权:访问被拒绝到期无效的凭证".

当工作站浏览到Web应用程序URL时(自然地使用服务器的名称而不是"localhost"),会出现同样的问题.

IIS6服务器是我们唯一的域的成员,并且没有启用防火墙.

有没有我无法正确配置的工作?

谢谢,


我已经尝试过Matt Ryan,Graphain和Mike Dimmick的建议,但没有成功.我刚刚构建了一个虚拟机测试实验室,其中包含Server 2003 DC和单独的服务器2003 IIS6服务器,我能够复制该问题.

我第一次尝试通过非localhost网址(即http:// iis/myapp)访问网站时,在IIS6服务器的系统事件日志中看到一个条目.FQDN网址也失败了.

来源:Kerberos,事件ID:4
kerberos客户端从服务器主机/ iis.test.local收到KRB_AP_ERR_MODIFIED错误.使用的目标名称是HTTP/iis.test.local.这表示用于加密kerberos服务票证的密码与目标服务器上的密码不同.通常,这是由于目标领域(TEST.LOCAL)中的同名机器帐户和客户端领域.

Jason Stangr.. 7

经过广泛的谷歌搜索后,我设法找到以下MSDN文章的解决方案:
如何:为ASP.NET 2.0应用程序创建服务帐户

特别是"附加注意事项"部分,其中描述了"使用Windows支持工具中的setspn工具为域帐户创建服务主体名称(SPN)":

setspn -A HTTP/myserver MYDOMAIN\MyPoolUser
setspn -A HTTP/myserver.fqdn.com MYDOMAIN\MyPoolUser

这解决了我在虚拟测试实验室和原始问题服务器上的问题.

本文还有一个重要的注意事项,即对自定义池用户使用Windows身份验证会限制仅由该池使用的关联DNS名称.也就是说,具有另一个身份的另一个池需要与不同的DNS名称相关联.



1> Jason Stangr..:

经过广泛的谷歌搜索后,我设法找到以下MSDN文章的解决方案:
如何:为ASP.NET 2.0应用程序创建服务帐户

特别是"附加注意事项"部分,其中描述了"使用Windows支持工具中的setspn工具为域帐户创建服务主体名称(SPN)":

setspn -A HTTP/myserver MYDOMAIN\MyPoolUser
setspn -A HTTP/myserver.fqdn.com MYDOMAIN\MyPoolUser

这解决了我在虚拟测试实验室和原始问题服务器上的问题.

本文还有一个重要的注意事项,即对自定义池用户使用Windows身份验证会限制仅由该池使用的关联DNS名称.也就是说,具有另一个身份的另一个池需要与不同的DNS名称相关联.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有