2013-08-28 27 views
0

我有一個c#.netMVC3應用程序運行在Windows Server 2008 R2 DatacenterMVC應用程序端點驗證子域需要

如果我將該應用程序部署爲主站點下的應用程序(即www.mysite.com/crm),則它可以很好地工作。

如果我將應用程序作爲子站點部署到主站點(即crm.mysite.com),它似乎按預期工作,但一個端點(crm.mysite.com/reports/view)除外。該路徑返回以下認證通知:

Authentication Required 
The server http://crm.mysite.com:80 requires a username and password. 

我不知道什麼特別爲端點,正如我所說,當主站點下部署它的工作原理沒有問題。

這會導致什麼?我如何刪除/防止它?

我甚至不知道要提供哪些代碼來幫助診斷問題。如果您想查看與此問題相關的任何部分的代碼部分,請告訴我們。

UPDATE

我不路徑移動的應用程序文件這兩種情況下,他們都使用相同的應用程序池。唯一的區別是用戶如何通過IIS訪問文件。

UPDATE2

如果我驗證用戶,我得到這個錯誤:

Server Error in '/Reports' Application. 

The resource cannot be found. 

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly. 

它爲什麼會認爲當清楚它的資源不存在?

回答

0

如果您在主站點上進行身份驗證,它不會自動將身份驗證傳遞到子域。你將不得不開發一種機制來處理諸如SSO(單點登錄)。

另一個潛在問題是目錄/應用(如c:\inetpub\wwwroot\crm.mysite.com

+0

應用程序有認證權限,用戶有之前做任何事情來驗證。這意味着所有其他視圖都被正確保護並正常工作,那麼爲什麼這一個端點會失去認證? – davids

+0

如果他們在www.mysite.com/crm上登錄,身份驗證cookie將不會傳送到crm.mysite.com。用戶將不得不重新進行身份驗證。 –

+0

我不會更改文件的實際路徑,只能通過IIS訪問它們。 – davids

相關問題