簡體   English   中英

由於切換到IIS7,因此使用匿名登錄連接到SQL

[英]Connecting to SQL with ANONYMOUS LOGON since switch to IIS7

我最近將PC升級到Vista,這意味着它包含IIS7。 問題是我們正在使用的ASP.NET網站不再起作用。 我收到一個錯誤消息,因為該應用程序嘗試使用NT AUTHORITY / ANONYMOUS LOGON(而不是我的域用戶)連接到SQL Server,並且未授權匿名。 我已經嘗試了幾件事,但是還沒有解決方案:-安裝並啟用“ IIS元數據庫和IIS 6配置兼容性”-為該網站啟用Windows身份驗證-創建了將托管管道模式設置為“經典”的其他應用程序池-啟用了IIS6 WMI兼容性和IIS6管理控制台(在此絕望)

在我們的web.config中,在我們的machine.config中,有。 我曾嘗試將假冒的身份設置為false,然后在machine.config中輸入我的域用戶名和密碼(以前是這樣的),但這也無濟於事。

有什么我想念的嗎? 還有其他人有類似的問題嗎?

您的應用程序如何通過SQL Server進行身份驗證? 它使用SQL還是Windows Auth? 希望您嘗試使用Windows Auth。 在這種情況下,您的IIS工作進程應在該Windows用戶帳戶下運行。 如果不是,它至少應模擬一個對SQL Server具有必要訪問權限的Windows用戶帳戶。 如果啟用了模擬,並且使用的是正確的Windows用戶帳戶,並且SQL Server使用Windows auth進行了身份驗證,並且仍然無法訪問SQL Server,則可能會遇到經典的雙跳問題。 換句話說,您嘗試一次向IIS進行身份驗證,並且使用相同的憑據通過網絡(這是您的第二跳)通過網絡向SQL Server進行身份驗證,並且出於安全原因,Windows不允許這樣做。

我相信我已經找到了解決方案。 至少現在正在工作。 這是我所做的:

  • 該網站現在在單獨的應用程序池中運行,其“托管管道”模式設置為“經典”,“加載用戶配置文件”設置為“ False”,“身份”設置為“自定義”,並使用有權訪問數據庫的域用戶(和密碼)。
  • 在網站本身的“授權”下,我將“匿名”設置為啟用,將ASP.NET模擬設置為禁用。
  • 在站點的web.config中也已設置。

歸功於該站點該站點對我有所幫助。

很抱歉,我無法進一步調查該問題。 確實,這可能與我們連接到SQL Server(Win Auth)的方式有關,因為我們現在已經對其進行了更改。 現在,我們在連接字符串中使用用戶名和密碼進行連接,此問題已解決。 所以我真的不能說您是否提供了答案,msvcyc,但我確實對您的解決方案進行了投票。 感謝您的時間和麻煩。

好吧,如果沒有太多麻煩可以享受它帶來的創新,我建議您遷移到集成模式。 :)

http://mvolo.com/blogs/serverside/archive/2007/12/08/IIS-7.0-Breaking-Changes-ASP.NET-2.0-applications-Integrated-mode.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM