通过Windows 集成身份认证登录SQL Server失败

2016-02-19 19:18 99 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

  问题

  在之前的技巧中,您讨论了由于在Active Directory中存在大量的组,需要超越MaxTokenSize来容纳更大的Kerberos tokens。与此同时,我们也注意到MaxTokenSize需要做出相应调整,这是由于使用Windows 集成身份认证(Windows Integrated Authentication)的web应用程序也出现了启动失败的问题,其中包括SQL Server Reporting Services。我就职的公司做出了必要的改动并重新启动了SQL和Web服务器。启动后,尽管SQL Server Management Studio的问题解决了,但是我们的Web应用程序仍然存在问题。请问还需要再做什么改动呢?

  专家解答

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  先前关于Kerberos Token sizes的方法解决了在以下目录的一段注册表中修改MaxTokenSize的问题:HKEY_LOCAL_MACHINESystemCurrentControlSetControlLsaKerberosParameters。不幸的是,当使用Windows集成身份验证(Windows Integrated Authentication)连接到SQL Server时,这并不是预设大小的唯一的地方。额外的两个值是MaxFieldLength 和MaxRequestBytes。与MaxTokenSize不同的是,当问题影响到web应用程序时,它呈现出不同的一点。默认情况下,Windows集成身份验证(Windows Integrated Authentication)在Internet Explorer中启用,在Internet Options | Advanced界面中显示如下:

图一

  当用户尝试用别名或者DNS名称访问网页时,DNS解析将尝试进行。因为规模较大的Kerberos token大小超过默认的MaxFieldLength,你将立即得到错误的信息。这与由于在输入地址和接收“网页无法显示”的错误信息存在时间差而导致一个网页无法找到的情况不同。这个难题中有趣的部分在于,如果尝试要么用主机名要么用别名来访问网页,它是不会成功的。尽管如此,网页可以通过IP地址访问。然而,在网页加载时任何SQL查询的执行都会失败。

  当遇到网站错误时,Internet Explorer的默认行为是显示用户界面友好的信息。你可以在如下显示的Internet Explorer中关闭这种行为。

图二

  这些用户界面友好的讯息将提供用于解决问题的信息。一旦你关掉用户界面友好的信息,你将看到如下的信息:

图三

  如上所述,额外注册表项需要超越这些默认值。注册表项的位置取决于使用的Internet Information Server (IIS)的版本。

   IISversionRegistrylocation
  IIS5.0HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesw3svcparameters
  IIS6.0HKEY_LOCAL_MACHINESystemCurrentControlSetServicesHTTPParameters
  InternetInformationServices5.0

  在IIS 5.0中,注册表项要求是MaxClientRequestBuffer DWORD项。Microsoft建议的DWORD值是32768。

  Internet Information Services 6.0

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  在IIS 6.0中要求有两个注册表项。第一个是MaxFieldLength DWORD项。根据Microsoft的建议,DWORD值是65534。第二个是MaxRequestBytes DWORD,Microsoft的建议值是500000。

  一旦注册表项完成了,IIS Admin and dependent services需要重启,但是服务器不一定需要重启。原来的问题在Outlook Web Access中被发现,而补救方法在一篇有关Outlook Web Access的知识库文章中有所描述。当采用Kerberos身份验证时,无论是使用什么技术,对web应用程序的补救方法是相同的。

来源:https://www.tulaoshi.com/n/20160219/1620632.html

延伸阅读
在使用 SQL Server 的过程中,用户遇到最多的问题莫过于连接失败了。一般而言,有两种连接SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用 ODBC 或者OLE DB等连接 SQL Server。下面,我们将就这两种连...
蚂蚁兼职怎么身份认证?   蚂蚁兼职身份认证可以增加个人的信用度,让报名兼职的时候更容易被录用。还不会认证身份?没关系,接下来小编就教大家蚂蚁兼职怎么身份认证方法介绍,希望能对大家有所帮助! 1)打开蚂蚁兼职进入首页,接着点击下方功能栏。进入自己的个人页后点击头像下。 2)在身份认证页面点击右上角,...
标签: SQLServer
概要 在将数据库移动到新服务器后,用户可能无法登录到新服务器。相反,他们会收到下面的错误消息: Msg 18456, Level 16, State 1Login failed for user '%ls'. 您必须将登录和密码传输到新服务器。本文介绍如何将登录和密码传输到新服务器。 如何在运行 SQL Server 7.0 的服务器之间传输登录和密码 SQL Server 7.0 数据...
标签: SQLServer
  Microsoft SQL Server 2000的新特性之一就是支持XML,所以用户可以通过HTTP方式直接访问具备XML功能的SQL Server2000数据库。下面介绍实现方法。 系统环境:Windows2000 Server(包含IIS)+ MS SQL Server2000 数据库:SQL Server2000附带的经典数据库样本:NorthWind 一、配置IIS和SQ...
笔者一直对SQL Server 2005里的用户的概念不是很清楚,如果你和我当初一样,认为下面的两个用户是一个概念,那就有必要点上一根烟,喝上一品茶,细细品味一下这之间的不同了。 左边的图标出了一个可以访问AdventureWorks数据库的用户,而右边的图则标出了整个数据库服务器所有的“用户”。 大家知道,SQL Server 2005有两种用...

经验教程

579

收藏

74
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部