Redis
 sql >> Database >  >> NoSQL >> Redis

Salva la sessione utente in Redis con ASP.NET Core in Azure

La sessione non è collegata all'autenticazione, stai tentando di risolverla nel modo sbagliato.

Tutti i ticket di autenticazione basata su moduli e i cookie sono crittografati e firmati utilizzando il livello di protezione dei dati. Il problema che stai riscontrando è dovuto al fatto che le chiavi di crittografia non vengono salvate e le applicazioni sono isolate l'una dall'altra.

Per risolverlo devi condividere entrambe le chiavi di crittografia e impostare un nome di applicazione nel tuo codice. In tutta onestà ti consiglierei di non farlo. La pre-produzione non è un servizio live e non dovresti essere in grado di autenticarti su entrambi contemporaneamente.

Se ritieni di doverlo fare, devi condividere il keyring di crittografia e impostare un nome fisso per l'applicazione. È possibile condividere le chiavi tramite una cartella condivisa o archiviandole in una posizione condivisa, ad esempio SQL o archiviazione di Azure. Per fare ciò dovresti scrivere il tuo provider di portachiavi, implementando un IXmlRepository. Dopo aver condiviso le chiavi, puoi impostare un identificatore di applicazione fisso utilizzando SetApplicationName durante la configurazione della protezione dei dati.