1

請注意:在下面描述的每個步驟中,我都以相同的域用戶帳戶登錄。從IIS控制遠程服務器上的服務

我有一個web應用程序來控制遠程機器上的服務(通過ServiceController)。當我遠程連接到網站並嘗試控制服務時,出現InvalidOperationException:訪問被拒絕。

我知道它CAN工作,因爲當我從Web服務器(遠程桌面中,作爲我的域用戶登錄,然後打開網頁)連接到網站時,它按預期工作。

我已將IIS和ASP.NET配置爲需要Windows身份驗證和模擬。當這個失敗時我記錄當前線程的主體,並且我看到線程正在以我的身份運行,無論我是遠程連接還是從服務器本身連接。

我試過迫使IIS在同一時間使用Kerberos身份驗證,NTLM身份驗證和兩者;無論我的主體是否將其AuthenticationType聲明爲「Negotiate」或「NTLM」,都無關緊要。沒有人當我遠程連接(從我的本地機器)工作

這個ANOTHER奇怪的是,如果我調試從我的本地機器/連接到遠程服務器,它屢試不爽!但我沒有調試,每次都失敗!

在這裏可能會發生什麼?

回答

0

「另一個奇怪的事情是,如果我從本地機器調試/連接到遠程服務器,它每次都能正常工作,但我不會調試,每次都會失敗!

這清楚地表明您有權限問題。當你在調試器中運行時,你以登錄用戶身份運行,當你不調試它時,它運行在IIS設置使用的任何地方(默認情況下爲NETWORK SERVICE)。嘗試設置(暫時!)使用您的域帳戶作爲用戶啓用匿名訪問,看看是否有效。如果確實如此,則意味着您的IIS沒有正確安裝以模擬(並且可能以NETWORK SERVICE運行)。

在IIS中的權限可以有點c h適當微調... 祝你好運!

P/S:這看起來更像是一個比一個編程一個網絡管理問題(見https://stackoverflow.com/questions/321618/stackoverflow-is-for-programming-questions-here-are-some-better-forums-for-your#321756

+0

嗯,我知道它的許可問題。我按你的建議做了,但沒有什麼區別。我也嘗試了摘要式身份驗證,但那是不行的。 – Will 2008-11-26 20:21:32