2012-04-09 13 views
3

Ich habe eine Lösung, die zwei Anwendungen hat. Ist es möglich, den Benutzer nur einmal anmelden zu lassen?Single Anmelden in mehreren ASP MVC 3 Anwendungen

Zum Beispiel in der Hauptanwendung kann ich die Authentifizierung wie folgt aus:

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

und ich habe diesen Code in der web.config Datei:

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

Was sollte ich hinzufügen, so dass, wenn Der Benutzer ist angemeldet. In der Hauptanwendung bitten wir ihn nicht, sich erneut anzumelden, wenn er sich mit der zweiten Anwendung verbindet.

+0

Sind beide Anwendungen gehen gehostet werden auf demselben Server/derselben Domain? – hangy

+0

Ja, sie werden auf demselben Server gehostet, aber gibt es einen Unterschied? – kbaccouche

+1

Yup - Cross-Domain wäre viel schwieriger, weil Cookies nicht von einer anderen Domäne verwendet werden können. Ihr Fall sollte ziemlich geradlinig sein, weil Sie dieses Problem nicht haben. (siehe http://stackoverflow.com/a/10073566/11963) – hangy

Antwort

5

Da Sie beide Anwendungen unter der gleichen Adresse hosten, sollte dies problemlos möglich sein, indem Sie <machineKey> (web.config) für beide Anwendungen auf den gleichen Wert setzen. Danach sollten Sie automatisch bei einer Anwendung angemeldet sein, nachdem Sie sich bei der anderen angemeldet haben.

Weiterführende Literatur: