다음을 통해 공유


DefaultKeyResolution.ShouldGenerateNewKey가 의미를 변경했습니다.

DefaultKeyResolution.ShouldGenerateNewKey 더 이상 기본 키가 만료 시간에 근접했는지 여부를 반영하지 않습니다.

도입된 버전

ASP.NET Core 9.0 미리 보기 3

이전 동작

기본 키가 만료 시간의 2일(지나치게 단순화) 이내인 경우 API ShouldGenerateNewKey 의 문서화되지 않았지만 일관된 기능이었습니다 true . 리드 타임의 양은 (예를 들어 대체 구현이 이러한 세부 정보를 인식하지 못할 수 있기 때문에) 의존해야 하는 것이 IDefaultKeyResolver.ResolveDefaultKeyPolicy 아닌 폴링 간격ICacheableKeyRingProvider을 기반으로 했습니다.

새 동작

.NET 9부터(있는 true경우ShouldGenerateNewKey) 기본 키가 없거나 다른 정책상의 이유로(특수화된 구현IDefaultKeyResolver에서) 새 키를 생성해야 했음을 나타냅니다. ICacheableKeyRingProvider 만료 시간이 새 키 생성을 보증할 만큼 가까운지 여부를 자체적으로 결정합니다.

호환성이 손상되는 변경의 형식

이 변경 사항은 동작 변경입니다.

변경 이유

이 변경 내용은 다음 두 가지 이유로 수행되었습니다.

  • 만료 시간에 가까운 키 생성에 대한 논리를 변경합니다.
  • 사용자 지정 IDefaultKeyResolver을 보다 간단하게 구현할 수 있도록 합니다.

만료 논리를 IDefaultKeyResolver 복제본(replica) 구현하려는 경우 해당 논리를 제거할 수 있습니다(그러나 그대로 두는 것도 좋습니다).

만료가 보류 중인지 여부를 확인하기 위해 직접 사용하는 IDefaultKeyResolver 경우 기본 키의 ExpirationDate 속성을 직접 검사 수 있습니다.

영향을 받는 API

  • Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.ShouldGenerateNewKey