DefaultKeyResolution.ShouldGenerateNewKey 已改變意義
DefaultKeyResolution.ShouldGenerateNewKey
不再反映預設索引鍵是否接近其到期時間。
導入的版本
ASP.NET Core 9.0 Preview 3
先前的行為
這是未記載但一致的 API ShouldGenerateNewKey
功能,也就是 true
如果預設金鑰在到期時間的兩天內(過度簡化),則為 。 前置時間量是以的輪詢間隔 ICacheableKeyRingProvider
為基礎,這不是 IDefaultKeyResolver.ResolveDefaultKeyPolicy
應該相依的(例如,替代實作可能不知道這些詳細數據)。
新的行為
從 .NET 9 開始,如果 ShouldGenerateNewKey
為 true
,表示沒有預設密鑰,或基於其他原則原因(在特製化實作中 IDefaultKeyResolver
),應該產生新的密鑰。 會 ICacheableKeyRingProvider
自行決定到期時間是否足夠接近,以保證產生新的金鑰。
中斷性變更的類型
此變更為行為變更。
變更原因
這項變更有兩個原因:
- 若要變更金鑰產生接近到期時間的邏輯。
- 若要簡化實作自訂
IDefaultKeyResolver
的 。
建議的動作
如果您有 IDefaultKeyResolver
嘗試複寫到期邏輯的實作,則可以移除該邏輯(不過,也沒問題)。
如果您直接取 IDefaultKeyResolver
用來判斷到期是否擱置中,您可以直接檢查預設密鑰的 ExpirationDate
屬性。
受影響的 API
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.ShouldGenerateNewKey