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

前端之家收集整理的这篇文章主要介绍了sql-server – 使用IIS,Firefox和SQL Server集成Windows身份验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的本地主机上有一个在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 AUTHORITY\ANONYMOUS logoN'.

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

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

有什么建议么?

解决方法

AS notedPontus 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

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

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

猜你在找的MsSQL相关文章