Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DefaultKeyResolution.ShouldGenerateNewKey artık varsayılan anahtarın son kullanma süresine yakın olup olmadığını yansıtmaz.
Sürüm kullanıma sunulmuştur
ASP.NET Core 9.0 Önizleme 3
Önceki davranış
API'nin belgelenmemiş ancak tutarlı bir özelliği vardı: Varsayılan anahtarın son kullanma süresine iki günden az kaldığında (basitleştirilmiş haliyle), ShouldGenerateNewKeytrue olurdu. Sağlama süresi, ICacheableKeyRingProvider'in bağlı olmaması gereken IDefaultKeyResolver.ResolveDefaultKeyPolicy yoklama aralığına dayanıyordu (çünkü, örneğin, alternatif uygulamalar muhtemelen bu ayrıntıların farkında olmayacaktır).
Yeni davranış
.NET 9 sürümünden başlayarak, eğer ShouldGenerateNewKeytrue ise, bu ya varsayılan bir anahtar olmadığını ya da başka bir ilke nedeni ile (IDefaultKeyResolver'nin özel bir uygulaması) yeni bir anahtar oluşturulması gerektiğini gösterir. , ICacheableKeyRingProvider son kullanma süresinin yeni bir anahtar oluşturmayı garanti edecek kadar yakın olup olmadığı konusunda kendi kararını verir.
Kesinti yaratan değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
Bu değişiklik iki nedenden dolayı yapılmıştır:
- Son kullanma süresine yakın anahtar oluşturmanın mantığını değiştirmek için.
- Özel
IDefaultKeyResolveruygulamasını yapmayı kolaylaştırmak için.
Önerilen eylem
Süre sonu mantığını çoğaltmaya çalışan bir IDefaultKeyResolver uygulamanız varsa, bu mantığı kaldırabilirsiniz (ancak, bırakma da uygundur).
Sürenin dolup dolmadığını belirlemek için IDefaultKeyResolver doğrudan tüketiyorsanız, varsayılan anahtarın ExpirationDate özelliğini doğrudan kontrol edebilirsiniz.
Etkilenen API'ler
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.ShouldGenerateNewKey