IIS集成windows身份验证 HTTP 401.3错误

路伊阑珊 2011-02-12 03:45:14
现网站程序部署在windows 2003 IIS 6.0中 ,为了操作方便 希望实现直接获取windows帐号登录网站,IIS开启集成windows身份验证,但是客户端浏览器每次都弹出身份验证对话框,输入自己的windows帐号密码登录失败 得到http:401.3 ,使用运行服务器的帐号信息可以登录。但是需求的根本不希望看到这个要输入帐号密码弹出框。找了3天没有满意的解决方案,继续求教

先前开的帖子(没有解决问题):
http://topic.csdn.net/u/20110209/11/8d61cd7d-e145-4f2a-8618-5d8494ca7796.html?71626
http://topic.csdn.net/u/20110210/11/af81c4bb-6ad6-4341-9949-3dcb9574fcc2.html?28604
...全文
1602 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
乘思者 2013-02-28
  • 打赏
  • 举报
回复
看看我刚刚写的: http://blog.csdn.net/chenjiuyong/article/details/8622605
thewitcher~ 2011-09-23
  • 打赏
  • 举报
回复
遇到和楼主同意的问题,帮顶!!!
我的情况更加糟糕,第一次让用户输入域账号和密码也就算了,可访问里面的页面,点首页回来时又
弹出窗口要求输入域账号和密码?
求高人指教
跪谢!
jingjingzhanghy 2011-02-14
  • 打赏
  • 举报
回复
关闭匿名,开户WINDOWS集成验证,权限设置。。。
lextm 2011-02-13
  • 打赏
  • 举报
回复
一大半401.3都可以用这个方法找到原因,然后解决。

http://blogs.iis.net/webtopics/archive/2009/06/25/troubleshooting-http-401-3-errors-with-process-monitor.aspx

实在是解决不了的,一般就和Windows安装之后关于机器权限修改密切相关了。这里典型的原因则可能是Authenticated Users被从Users组里面删除了。手工加回去一般就好了。
wuyq11 2011-02-12
  • 打赏
  • 举报
回复
孟子E章 2011-02-12
  • 打赏
  • 举报
回复
检查防火墙、代理等是否变化了,Kerberos Key Distribution Center服务是否启用、客户端是否加入到域等,你也可以勾选Windows 域服务器的摘要式身份验证。

如果客户端浏览器通过ip地址访问IIS,则访问会被当作非本地Intranet访问,只会使用NTLM验证,并且不会将当前登录用户的用户名和密码自动传到服务器,而是弹出对话框要求手工输入用户名和密码。除非,在IE的本地Intranet设置中将这些ip地址设置为本地Intranet地址
如果客户端通过机器名访问IIS,则如果客户端用域用户登录,并且服务器也在域中,会采用Kerberos验证,通过此用户的验证票来确定是否有权访问IIS资源;如果客户端不是用域用户登录,或者服务器不在域中,则IE首先会将当前用户的用户名和密码自动传到服务器进行验证,如果成功,则IIS允许访问资源,否则拒绝访问,并且IE会弹出一个对话框,要求用户输入一个用户名和密码,输入了之后IE会用用户输入的用户名和密码再次传到服务器验证。

IE 是可以配置成自动发送当前登录用户的用户和密码的,并到 AD 验证,结果告诉给 IIS 站点

打开 IE 工具 》 选项 》安全 》 看到几个区域 》 选择 Intranet 区域 》 选择自定义 》滚到最底部,会看到“自动发送用户和密码”的设置,
默认只有 Intranet 开启,一般也只开这个区域,你可以将企业网的网址手动加入 intranet 区域,你还可以通过域组策略来实现所有域成员计算机的这个设置

如果都设置对了,仍然弹出登录界面,参考
http://blogs.leoworks.net/feng/2009/07/28/ntml-401-on-web-server-disableloopbackcheck/


关于设置,你可以参考
http://technet.microsoft.com/zh-cn/library/cc784103(WS.10).aspx
另外,在iis里设置的时候,可以在打开 “身份验证和访问控制”的编辑界面,查看帮助,里面有一些操作方法的介绍。
由于手头没有环境,不能给你进行 demo 了
路伊阑珊 2011-02-12
  • 打赏
  • 举报
回复
年前我同事弄的时候是可以的随便一台电脑打开网站 就可以显示登录信息 也出现过打开的时候显示服务器帐号的情况 但是最后都解决了 过完年回来打开就是帐号密码验证框 不登录就是401.3
路伊阑珊 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 net_lover 的回复:]
再开新贴有意义吗?

你访问服务器的资源,你 输入自己的windows帐号密码 能不失败吗?

随便一个机器跟你的服务器没有任何关系。

你要输入服务器上的账户密码。或者采用域帐户(使用访问网站的计算机必须在域内),设置域帐户的权限。


开启匿名登录你是永远也得不到的
[/Quote]
谢谢孟老大 服务器和所有的客户端都在同一个域中 都是通过域帐号登录电脑的 所以真不知道什么问题 我是通过域帐号登录电脑的这个说明我的域认证通过了 而且还有专门的域认证工具显示验证通过的结果 集成windows身份验证如果域认证通过是不是就不会弹出对话框了?
孟子E章 2011-02-12
  • 打赏
  • 举报
回复
去看看这个我文章
http://king2009163-163-com.javaeye.com/blog/890351
孟子E章 2011-02-12
  • 打赏
  • 举报
回复
再开新贴有意义吗?

你访问服务器的资源,你 输入自己的windows帐号密码 能不失败吗?

随便一个机器跟你的服务器没有任何关系。

你要输入服务器上的账户密码。或者采用域帐户(使用访问网站的计算机必须在域内),设置域帐户的权限。


开启匿名登录你是永远也得不到的
路伊阑珊 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]

开启匿名访问
httpwebrequest自动登录
[/Quote]
如果IIS只是开启匿名访问的话 就是不会有那个讨厌的弹出框了 但是问题就来了 System.Web.HttpContext.Current.User.Identity.Name;为空 根本获取不到值 也就没有办法实现 获取windows帐号登录网站
子夜__ 2011-02-12
  • 打赏
  • 举报
回复
louti 2011-02-12
  • 打赏
  • 举报
回复
一般都是匿名访问 别的没弄过
wuyq11 2011-02-12
  • 打赏
  • 举报
回复
开启匿名访问
httpwebrequest自动登录

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧