Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Speichern Sie Benutzersitzungen in Redis mit ASP.NET Core in Azure

Die Sitzung ist nicht mit der Authentifizierung verknüpft, Sie versuchen, es auf die falsche Weise zu lösen.

Alle Formularauthentifizierungstickets und Cookies werden mit der Datenschutzschicht verschlüsselt und signiert. Das Problem, auf das Sie stoßen, ist darauf zurückzuführen, dass die Verschlüsselungsschlüssel nicht gespeichert werden und Anwendungen voneinander isoliert sind.

Um es zu lösen, müssen Sie beide Verschlüsselungsschlüssel teilen und einen Anwendungsnamen in Ihrem Code festlegen. Ehrlich gesagt würde ich dir davon abraten. Die Vorproduktion ist kein Live-Dienst, und Sie sollten sich nicht bei beiden gleichzeitig authentifizieren können.

Wenn Sie das Gefühl haben, dass Sie dies tun müssen, müssen Sie den Schlüsselbund für die Verschlüsselung freigeben und einen festen Anwendungsnamen festlegen. Sie können Schlüssel über einen freigegebenen Ordner freigeben oder sie an einem freigegebenen Speicherort wie SQL oder Azure-Speicher speichern. Dazu müssten Sie Ihren eigenen Schlüsselringanbieter schreiben, indem Sie ein IXmlRepository implementieren. Sobald Sie Ihre Schlüssel freigegeben haben, können Sie eine feste Anwendungskennung festlegen, indem Sie während der Datenschutzkonfiguration SetApplicationName verwenden.