Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
DefaultKeyResolution.ShouldGenerateNewKey gibt nicht mehr an, ob der Standardschlüssel nahe an seiner Ablaufzeit liegt.
Eingeführte Version
ASP.NET Core 9.0 Preview 3
Vorheriges Verhalten
Es handelte sich um ein nicht dokumentiertes, aber konsistentes Feature der API, dass ShouldGenerateNewKeytrue war, wenn der Standardschlüssel innerhalb von zwei Tagen (eine Übervereinfachung) vor seiner Ablaufzeit lag. Die Dauer der Vorlaufzeit basiert auf dem Abrufintervall von ICacheableKeyRingProvider, von dem IDefaultKeyResolver.ResolveDefaultKeyPolicy nicht abhängig sein sollte (da z. B. alternative Implementierungen diese Details wahrscheinlich nicht kennen).
Neues Verhalten
Ab .NET 9, wenn ShouldGenerateNewKey ist true, bedeutet es, dass entweder kein Standardschlüssel vorhanden ist oder aus einem anderen Richtliniengrund (in einer spezialisierten Implementierung von IDefaultKeyResolver) ein neuer Schlüssel generiert werden soll. Die ICacheableKeyRingProvider trifft eigenständig die Entscheidung, ob die Ablaufzeit nah genug ist, um die Erstellung eines neuen Schlüssels zu rechtfertigen.
Art der einschneidenden Änderung
Diese Änderung ist eine Verhaltensänderung.
Grund für Änderung
Diese Änderung wurde aus zwei Gründen vorgenommen:
- Um die Logik der Schlüsselgenerierung kurz vor Ablauf der Zeit zu ändern.
- Um die Implementierung eines benutzerdefinierten
IDefaultKeyResolverzu vereinfachen.
Empfohlene Aktion
Wenn Sie über eine IDefaultKeyResolver Implementierung verfügen, die versucht, die Ablauflogik zu replizieren, können Sie diese Logik entfernen. Es ist jedoch auch in Ordnung, wenn Sie die Logik beibehalten.
Wenn Sie IDefaultKeyResolver direkt konsumierten, um festzustellen, ob der Ablauf bevorsteht, können Sie die ExpirationDate Eigenschaft des Standardschlüssels direkt überprüfen.
Betroffene APIs
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.ShouldGenerateNewKey