2010-06-23 65 views
1

我們公司正在運行一個asp.net Webforms 3.5網站作爲服務器上的默認網站。在與現有表單3.5應用程序相同的域中運行MVC .net 4.0應用程序

我想添加一個新的asp.net MVC應用程序(使用.net 4.0),但能夠使用單一登錄身份驗證從表單應用程序到MVC應用程序。我怎樣才能做到這一點?

我嘗試將MVC應用程序添加到默認網站,但MVC應用程序失敗,因爲它試圖讀取WebForms應用程序的web.config。

我可以想象這是由某人在那裏完成的,有什麼好辦法做到這一點?任何幫助,將不勝感激。

回答

3

如果您希望兩個應用程序運行兩個不同的CLR版本(2.0和4.0),您需要創建兩個應用程序池,則CLR版本將在每個應用程序池的IIS中設置。一旦創建第二個應用程序池,就可以添加一個虛擬目錄並將其分配給該應用程序池。

至於SSO,如果您使用FormsAuthentication所有必要的是在兩個應用程序web.config中使用相同的<authentication mode="Forms">部分。爲了使第一個應用程序創建的身份驗證Cookie被第二個相同的機器密鑰解密,需要使用=>check out this article

+0

感謝Darin,我已經完全按照您的描述進行了設置,但問題似乎是WebForms是默認網站。當我嘗試點擊MVC應用程序時,它會抱怨Webforms應用程序的web.config。不知道它爲什麼要驗證WebForms應用程序的web.config。 – 2010-06-23 17:15:12

+0

嘗試爲主網站的根文件夾之外的ASP.NET MVC應用程序設置物理路徑。例如:根網站 - 'd:\ inetpub \ wwwroot',asp.net mvc root - 'd:\ myapp' – 2010-06-23 17:17:52

+0

它們已經分隔c:\ Projects \ CPortal \ CPortal(對於WebForms是默認的根目錄WebSite)以及MVC應用程序的c:\ SmartForms \ SmartForms。 – 2010-06-23 17:22:25

1

你不行。

您基本上試圖同時使用4.0和3.5應用程序池。只是不行。

我會降級你的MVC網站到3.5。

+0

感謝Jfar,我接受了你的建議並將其降級到3.5,4.0中沒有任何內容我現在真的需要,再加上我可以隨時升級。 – 2010-06-23 21:04:27

相關問題