iis-7 – 从IIS中的WindowsAuthentication中删除NEGOTIATE
我有一个在IIS 7.5中运行的站点,使用与实际服务器名称不同的DNS别名访问该站点.在IE 8中,集成身份验证失败,但在Firefox和Chrome中一切正常. (IE会出现几次凭证质询,然后显示401.1错误页面.)
我已经发现这是因为IE使用Kerberos(又名“Negotiate”)而非NTLM,而Kerberos需要注册服务主体名称(使用SETSPN),以便正确处理DNS名称和服务器名称之间的不匹配. 但是,我的网站不需要冒充 – 只需委派即可.因此,我只想从IIS中的WindowsAuthentication方法列表中删除“Negotiate”,而不是搞乱SetSPN. 我已经搜索了相当长的一段时间来了解如何在IIS中执行此操作.我玩了很多appcmd命令 – 但我找不到在线示例,或者通过阅读MSDN文档或使用appcmd /来弄清楚如何?使appcmd命令仅适用于站点内的特定应用程序,而不是整个Web服务器.在两天后的几个搜索小时内,访问了至少三十几个网页,我仍然没有结果. 如何在tarnation中完成这项工作 – 看起来它应该如此简单! 解决方法
在IIS中打开配置编辑器.它随IIS 7.5一起提供,或者您可以为IIS 7.0下载
IIS administration pack.导航到要影响的范围(服务器,站点或应用程序),然后打开图标:
. 将Section更改为system.webServer / security / authentication / windowsAuthentication: 单击提供程序项,然后单击右侧的“编辑项”.选择“Negotiate”项,然后单击“Remove”: 关闭对话框,然后单击右侧“操作”窗格中的“应用”. 你的问题解决了!不再有Kerberos /谈判! 注意:您还可以单击操作窗格中的“生成脚本”,以显示将在命令行中以C#,javascript或appcmd进行更改的代码. 作为参考,这里是appcmd语句,用于在不使用配置编辑器的情况下完成工作. appcmd.exe set config "Virtual/path/to/application" -section:system.webServer/security/authentication/windowsAuthentication /-"providers.[value='Negotiate']" /commit:apphost (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-phone-7 – 多长时间调用SpriteBatch.Begin()/.End
- iis-7.5 – IIS 7.5:如何使用Windows身份验证配置自定义身
- windows-server-2008-r2 – 任务计划程序:在启动时登录会话
- windows下部署Tomcat8
- 如何让Windows Server DNS使用hosts文件来解析特定的主机名
- 在哪里可以找到使用sysprep部署Windows 7的初学者指南?
- Windows Azure Bill
- windows-8 – Windows 8 HTML / JavaScript Metro Apps中的
- 原装Win8系统换win7系统(图文教程)
- windows azure asp.net MVC2中的多租户
- windows-phone-7 – 关于windows phone的信息(型
- windows-server-2008 – 由数以千计建立的NTUSER
- LibGDX阶段坐标在窗口大小调整时更改
- Microsoft Visual Studio 2010(vs2010) 中文版安
- 如何查看windows update更新代理版本
- 如何在Windows上从php调用dll中的函数?
- windows – 如何以编程方式操作“开始”菜单的“
- windows-server-2003 – 确定上次登录终端服务器
- Windows Server 2008 – 文件权限和管理员
- windows-sbs-2008 – SBS 2008可以浏览共享,但不