加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP MVC Preview 5和IIS 6 Windows身份验证

发布时间:2020-12-16 06:34:46 所属栏目:asp.Net 来源:网络整理
导读:我刚刚建立了一个基本的ASP MVC网站,可以在我们的内部网上进行部署.它希望用户与IIS框位于同一个域中,如果您不是经过身份验证的 Windows用户,则不应该访问. 我刚刚将它部署到运行在Server 2003 R2 SP2上的IIS6. Web应用程序配置了自己的池,并拥有自己的池用
我刚刚建立了一个基本的ASP MVC网站,可以在我们的内部网上进行部署.它希望用户与IIS框位于同一个域中,如果您不是经过身份验证的 Windows用户,则不应该访问.

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

<authentication mode="Windows" />

从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服务器,我能够复制该问题.

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

Source: Kerberos,Event ID: 4
The kerberos client received a KRB_AP_ERR_MODIFIED error from the server host/iis.test.local. The target name used was HTTP/iis.test.local. This indicates that the password used to encrypt the kerberos service ticket is different than that on the target server. Commonly,this is due to identically named machine accounts in the target realm (TEST.LOCAL),and the client realm.

解决方法

经过广泛的谷歌搜索后,我设法在以下MSDN文章中找到了解决方案:
How To: Create a Service Account for an ASP.NET 2.0 Application

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

setspn -A HTTP/myserver MYDOMAINMyPoolUser
setspn -A HTTP/myserver.fqdn.com MYDOMAINMyPoolUser

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读