2012-04-09 67 views
3

我有一個有兩個應用程序的解決方案。是否有可能讓用戶只登錄一次?在多個ASP MVC 3應用程序中單點登錄

例如,在主應用程序我做認證是這樣的:

FormsAuthentication.SetAuthCookie(ContactFound.ContaLogin, model.RememberMe); 

我把這個代碼在web.config文件:

<authentication mode="Forms"> 
    <forms 
    loginUrl="~/Account/LogIn" 
    defaultUrl="~/Account/LogOn" 
    timeout="15" 
    />  
</authentication> 

我要補充,這樣,當用戶已登錄,在主應用程序中,我們不要求他在連接到第二個應用程序時再次登錄?

+0

都是應用程序將被託管在同一個服務器/域上? – hangy 2012-04-09 12:50:41

+0

是的,他們將被託管在同一臺服務器上,但是有區別嗎? – kbaccouche 2012-04-09 12:51:53

+1

Yup - 跨域會困難得多,因爲cookie不能用於不同的域。你的情況應該是相當簡單的,因爲你沒有這個問題。 (見http://stackoverflow.com/a/10073566/11963) – hangy 2012-04-09 13:01:23

回答

5

既然你要舉辦在同一地址兩個應用程序,它應該由<machineKey>(web.config中)設置爲兩個應用程序相同的值很容易成爲可能。之後,您應該在登錄另一個應用程序後自動登錄到一個應用程序。

延伸閱讀: