2011-05-05 8 views
5

我目前正在開發一個ASP.net應用程序。在本地主機上,我可以在調用AuthorizationGroups時訪問Active Directory。 我將ASP.net應用程序發佈到服務器後,我無法訪問Active Directory。我需要知道爲什麼這是發生在服務器上,當本地工作正常嗎?我是否需要導入特殊的DLL?本地訪問ASP.net中的Active Directory工作正常。在服務器上部署相同的代碼後給授權錯誤

至於說我嘗試從ActiveDirectory中的AuthorizationGroups,我從服務器獲取以下信息。

- 當試圖檢索授權組時,發生錯誤(5) 。

+5

可以有很多原因。不同的配置,不同的軟件版本,缺少的軟件......沒有看到無法分辨的錯誤。 – Oded 2011-05-05 08:22:19

+1

你可以包括你在這裏得到的錯誤嗎? – 2011-05-05 08:23:30

+0

我有調用一個方法的問題。這是錯誤消息:嘗試檢索授權組時,發生錯誤(5)。 – SamekaTV 2011-05-05 08:44:19

回答

5

嚴重,是完整的錯誤信息?

你需要有一個適當的錯誤記錄,即使這是上unhanded發生異常時默認設置,您可以檢查事件查看器。

所以我的答案是,你必須學會​​如何診斷關於你的網站的任何類型的錯誤。如果你對此沒有做好準備,那麼當你不是那個得到錯誤的人時,這將意味着麻煩。

至於具體的錯誤,沒有堆棧跟蹤,我們將無法再建議你比谷歌。有不只是一個場景,你可以得到這個錯誤,檢查谷歌最早的幾個條目,看看我的意思是:http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=While+trying+to+retrieve+the+authorization+groups%2C+an+error+(5)+occurred

+0

+1對於錯誤處理建議 – sra 2011-05-15 08:09:17

0

考慮在開發過程中使用IIS Express,以便您的開發Web服務器更緊密地匹配生產環境。

+3

我會採取更進了一步,只是使用IIS。 – Jeff 2011-05-13 17:34:07

1

你引用的錯誤消息聽起來很像一個防火牆問題

您可以關閉Windows防火牆的服務器上,看看你的錯誤?如果是這樣,你必須打開一些端口訪問AD

但我同意Oded的評論,有很多可能性,你不應該驚訝於看到不同的行爲 - Windows服務器/桌面配置的差異,以及安全,防火牆配置,ACL的,缺少的組件 - 名單繼續。

0

不慎就可能在你的web.config文件 和部署設置在IIS

1

可能有很多原因:

  • IIS被missconfigured
  • IIS運行不同的.NET版本
  • 您的申請missconfigured
  • 您的應用程序缺乏與您的IIS(路徑,庫,...的兼容性...)
  • 東西(可能是Windows)中被打破

指定可能來自錯誤:

  • ActiveDirectory中沒有時間內答覆
  • 您的應用程序一般無法連接到ActiveDirectory中
  • 東西壞了

Googl錯誤號(5)可能會有所幫助。

1

可能是用戶上下文問題。在本地運行時,Web服務器以登錄用戶身份運行。在IIS上運行時,該服務可能以本地系統帳戶運行,該帳戶無法通過網絡訪問到AD。您可以將用戶更改爲網絡服務,這將使IIS服務器可以訪問AD。

+1

-1這絕對不是這樣,LocalSystem有權訪問網絡並進入AD。有關完整的描述,請參閱http://stackoverflow.com/questions/510170/the-difference-between-the-local-system-account-and-the-network-service-accou/510225#510225。 – 2011-05-15 17:27:32

1

聽起來這兩者之間的唯一區別是應用程序運行時用戶帳戶的安全權限。

作爲本地用戶,您可以正常訪問與Active Directory綁定。默認情況下,IIS使用沒有網絡訪問權限的帳戶運行網站的應用程序池。這會阻止你連接到你的Active Directory服務器。

如果要將該應用程序池更改爲以網絡服務運行,則可能會遇到用戶帳戶無權連接到Active Directory的錯誤。

0

有很多原因爲什麼事情在當地工作,但不要部署。

  • 海事組織,排名第一的是不同的是權限級別 - 正如其他人指出的那樣,你可能需要訪問資源(如Active Directory)時,適當提升權限,或者您可能需要更改該帳戶在其下你的asp.net應用程序正在服務器上運行。
  • 它可能無法正常工作的第二個原因是,基於本地URI,您的代碼中可能具有絕對URI,或者您可能具有相對URI,這些URI在服務器環境中沒有多大意義(不同深度的文件夾結構等)
  • 有時,您正在開發一個較新的框架版本,並且在服務器上不可用。
  • 有時候您可能已經安裝了一些您沒有在服務器上部署的第三方框架。

大多數情況下,原因是上面的一個或另一個。

相關問題