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

sql-server – 使用IIS,Firefox和SQL Server集成Windows身份验证

发布时间:2020-12-12 16:27:40 所属栏目:MsSql教程 来源:网络整理
导读:我的本地主机上有一个在IIS上运行的网站.此网站的目录安全性设置为仅允许集成 Windows身份验证.它是内部网的一部分,需要通过我们的域帐户进行身份验证. 然后我在连接字符串中连接到集成安全性= SSPI的SQL Server. 这适用于Microsoft Internet Explorer,它在我
我的本地主机上有一个在IIS上运行的网站.此网站的目录安全性设置为仅允许集成 Windows身份验证.它是内部网的一部分,需要通过我们的域帐户进行身份验证.

然后我在连接字符串中连接到集成安全性= SSPI的SQL Server.

这适用于Microsoft Internet Explorer,它在我登录域时自动验证我,我可以看到logon_user是我的域帐户,SQL Server连接字符串工作正常.

但是,当我使用Firefox登录时,事情是不同的.

首先,我被提示进行身份验证,这是正确的,因为Firefox未配置为信任本地主机足以自动发送凭据(实际上我知道如何引入这种信任,这不是问题).我然后登录,这再次是好的,只要我输入域帐户的详细信息一切都很好.事实上,一个调试语句或两个显示logon_user仍然是我的域帐户,一切都很好.

但是,当我连接到SQL Server(在远程服务器框上运行,我的域帐户具有完整的sysadmin权限)时,我收到以下错误:

Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Login failed for user 'NT AUTHORITYANONYMOUS LOGON'.

这对我来说,认证堆栈有问题,因为某些原因,当我使用firefox的Windows身份验证进行身份验证时,IIS不会作为经过身份验证的帐户运行.

使用Google Chrome时也可以正常使用.

有什么建议么?

解决方法

AS noted到 Pontus Gagge,IIS需要将 Kerberos通票传递给SQL Server.这足以使我的Google-fu处于正确的方向.

Firefox支持Kerberos,但是您必须告诉它信任哪些域,以发送Kerberos令牌.

>打开Firefox
>在地址栏中键入:about:config
> Firefox3.x及更高版本要求您同意您将谨慎行事.
>加载配置页后,在过滤器框中键入:network.negotiate-auth
>通过双击行修改network.negotiate-auth.trusted-uris并输入yourdomain.com
>可以通过逗号分隔多个域,例如yourdomain.com,yourotherdomain.com

注意:这与gbn的solution不同,后者只是将firefox配置为不提示您在登录时输入域帐户详细信息.

此外,如果您已经尝试通过当前Firefox会话中的堆栈进行身份验证,则需要重新启动Firefox才能使其工作.

(编辑:李大同)

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

    推荐文章
      热点阅读