Die Blazor-Dokumentation zur Statusverwaltung ist in dieser Hinsicht nicht besonders hilfreich, da sie nur vage Verweise auf Serverspeicher enthält, jedoch keine aussagekräftige Links zu Beispielen.
Basierend auf meinen Recherchen bin ich zu dem Schluss gekommen, dass ich den Benutzerstatus irgendwo außerhalb meiner Anwendung erfassen muss. Alle von mir durchgeführten Untersuchungen haben auf die Verwendung eines verteilten Token-Cache hingewiesen.
- Link 1
Link 2 - Link 3
- Die Option „Token-verteilter Cache“ wurde hinzugefügt, nachdem ich meine Azure B2C-Details in meiner Dienstregistrierung definiert habe
Code: Select all
.AddMicrosoftIdentityWebApp(options => configuration.Bind("AzureAdB2C", options))
.EnableTokenAcquisitionToCallDownstreamApi(
new List() { })
.AddDistributedTokenCaches()
- einen MySQL-Server hochgefahren
- Installierte Microsoft.Extensions.Caching.SqlServer gemäß den Dokumenten
- Erstellte die relevante Tabellenstruktur dotnet sql-cache create „< ConnectionString>" dbo Session gemäß Dokumente. Ich habe bestätigt, dass die Tabellenstrukturen gemäß den Dokumenten erstellt werden.
- Für die Registrierung wurde die Methode .AddSession() verwendet Relevante Dienste
- Mein SQL-Server-Cache wurde wie folgt definiert
Das stimmt perfekt mit dem überein, was ich im DB-Schema und in der Tabelle sehen kann.Code: Select all
.AddDistributedSqlServerCache(options => { options.ConnectionString = "" options.SchemaName = "dbo"; options.TableName = "Session"; })
- Definierte app.UseSession (); direkt nach app.UseRouting() in meiner Program.cs
Es wird nichts geschrieben Tabelle zur Benutzeranmeldung – Ich sehe keine Protokolle in Blazor, was darauf hinweist, dass ein Dienst nicht registriert wurde oder die Verbindung zur Datenbank nicht hergestellt werden kann.
Fazit
Übersehe ich etwas Offensichtliches? Gibt es eine Möglichkeit, einen dauerhaften Status durch Anwendungsneustarts zu erreichen?
Ich habe auch die Microsoft-Identitätsbeispiele konsultiert und kein Beispiel gesehen, das diesen Ansatz verwendet.
Viele Vielen Dank für jede Hilfe!