程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 通過Windows集成身份認證登錄SQL Server失敗

通過Windows集成身份認證登錄SQL Server失敗

編輯:關於SqlServer

問題

在之前的技巧中,您討論了由於在Active Directory中存在大量的組,需要超越MaxTokenSize來容納 更大的Kerberos tokens。與此同時,我們也注意到MaxTokenSize需要做出相應調整,這是由於使用 Windows 集成身份認證(Windows Integrated Authentication)的web應用程序也出現了啟動失敗的問題 ,其中包括SQL Server Reporting Services。我就職的公司做出了必要的改動並重新啟動了SQL和Web服 務器。啟動後,盡管SQL Server Management Studio的問題解決了,但是我們的Web應用程序仍然存在問 題。請問還需要再做什麼改動呢?

專家解答

先前關於Kerberos Token sizes的方法解決了在以下目錄的一段注冊表中修改MaxTokenSize的問題: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters。不幸的是,當使用 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查詢的執行都會失敗。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved