Partage de sessions entre applications : tirer parti des services d'état de session ASP.NET
Présentation
Les applications Web doivent souvent partager des données de session entre plusieurs applications, permettant aux utilisateurs d'accéder de manière transparente à leurs informations et préférences. Cet article explique comment exploiter le service d'état de session ASP.NET pour réaliser le partage de session entre deux applications Web différentes hébergées sur le même serveur.
Partager des sessions entre les applications .NET 2.0 et MVC2
La tentative initiale de partage d'une session entre une application Web Forms .NET 2.0 et une application .NET 3.5 MVC2 consistait à publier la clé de session de l'application Web Forms vers l'application MVC. Cependant, cette approche souffre d'un problème : la session ne peut pas être chargée dans l'application MVC.
Solution : Utiliser l'état de session natif de SQL Server et les clés machine partagées
Pour surmonter ce défi, les deux applications doivent utiliser l'état de session .NET natif stocké dans SQL Server. De plus, une clé machine partagée est utilisée pour garantir que les applications peuvent crypter et déchiffrer de manière cohérente les données de session.
Configuration Web.config
Dans les fichiers web.config des deux applications, configurez l'état de la session comme suit :
<code class="language-xml"><sessionstate mode="SQLServer" sqlconnectionstring="..."></sessionstate> <machinekey decryption="AES" validation="SHA1" validationkey="SOMEKEY"></machinekey></code>
Configuration de la base de données
Créez la base de données d'état de session nécessaire sur une instance SQL Server accessible aux deux applications. Exécutez la commande aspnet_regsql.exe pour initialiser la base de données.
Modifier la procédure stockée
Modifications mineures apportées à la procédure stockée TempGetAppID dans la base de données d'état de session :
<code class="language-sql">SET @appName = LOWER(@appName)</code>
Résultats
En utilisant l'état de session natif stocké dans SQL Server et en partageant les clés de la machine, les deux applications peuvent accéder aux mêmes données de session. Cela permet un partage transparent des informations de session entre les applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!