Übermittlung von session-Daten zwischen ASP.NET Anwendungen
Wir haben mehrere ASP.NET bereitgestellte Anwendungen auf wenige Server. Gibt es einen standard-Weg, um die Wiederverwendung von session-Daten oder einige andere Methode nicht, müssen die Benutzer melden Sie sich bei der nächsten Bewerbung, wenn Sie sich von Anwendung zu Anwendung, wenn Sie bereits authentifiziert? Ich hoffe, es gibt eine best-practices-Weg, dies zu tun, dass Sie Jungs wissen über. Ich fühle mich wie es sollte etwas sein, einfach, dass ich bin fehlt.
Dank.
Edit: Um mehr klar sein, die wichtigste info in die session, dass ich möchte, um pass ist die authentifizierten Benutzer-id, aber möglicherweise einige andere session-Variablen.
- Authentifizierung und session sind 2 separate (obwohl durchaus Verwandte) Fragen, beantwortet die Sitzung etwas auf meine Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
könnten Sie implementieren eine single-signon-Strategie für Ihre Anwendungen.
http://aspalliance.com/1545_Understanding_Single_SignOn_in_ASPNET_20.all
http://blah.winsmarts.com/2006/05/19/aspnet-20-implementing-single-sign-on-sso-with-membership-api.aspx
http://johndyer.name/post/2005/12/Single-SignOn-with-ASPNET-Membership-and-WebServices.aspx
http://msdn.microsoft.com/en-us/library/ms972971.aspx
Single-Sign-On (SSO)
http://msdn.microsoft.com/en-us/library/ms972971.aspx
Für die Sitzung prüfen: http://www.codeproject.com/KB/aspnet/Sharing_session_state.aspx
Ergänzen mit diesem, so wird der cookie geteilt: http://mgrzyb.blogspot.com/2007/12/aspnet-and-subdomains.html
Es ist nicht klar, aus Sie Frage, ob Sie nur besorgt über die Anmeldungen, oder wenn Sie wirklich brauchen, um zu teilen session-Daten zwischen Anwendungen.
Vorausgesetzt, letzteres, könnten Sie versuchen, so etwas wie dieses:
Erstens, stellen Sie sicher, dass alle Anwendungen laufen in der gleichen Domäne. Wenn nicht, sind alle Wetten ab. Ich weiß nicht, ob es eine einfache Methode für die Konfiguration der domain-Eigenschaft des session-cookie noch nicht, so können Sie es selbst zu tun, durch die Einstellung der cookie-domain-Eigenschaft der domain:
Antwort.Cookies["ASP".NET_SessionId"].Domain = ".mydomain.com";
müssen Sie sicherstellen, dass jede Anwendung konfiguriert ist, um entweder einen gemeinsamen Staat-server, oder ein db-basiertes session.
Teilen a-sign-on zwischen Anwendungen (oben beschrieben) ist eine ganz andere Ballspiel zu teilen ASP.NET Sitzungen zwischen Anwendungen.
Warum wollen Sie teilen-Sitzungen zwischen Anwendungen?
ASP.NET Sitzung ist eine Metapher, die für einen Benutzer der aktuellen Interaktion mit einer ASP.NET -Anwendung. Es existiert in ASP.NET zu geben uns einen Platz zum speichern von temporären Daten zwischen den verschiedenen Seite anfordert, dass ein Benutzer während der Verwendung der Anwendung.
Wenn Ihre Anwendungen sind sehr eng miteinander verbunden sind, z.B. der Nutzer nutzt beide gleichzeitig oder fast zur gleichen Zeit, die Sie könnte in Erwägung ziehen, verschmelzen Sie zu einem einzigen ASP.NET -Anwendung.
Wenn Ihre Anwendungen sind nicht eng miteinander verbunden sind, sollten Sie vielleicht teilen die gleiche Datenbank als ein Mittel, um Daten auszutauschen, oder über eine API z.B. auf Basis von Web Services zum Austausch von Informationen.
Hoffe, das hilft.