2

저는 무기명 토큰을 사용하고 사용자를 인증하고 권한을 부여하는 API를 개발하고 있습니다.특성 승인 - 역할을 클레임으로 저장해야합니까?

모든 것이 효과적입니다. 그러나이 설정으로 역할 관리에 대해 궁금합니다.

[Authorize (Roles = "")] 속성을 작동 시키려면 클레임으로 역할을 저장해야합니까? 현재 두 개의 테이블, AspNetUserRoles 및 AspNetUserClaims에 사용자 역할이 있습니다. 토큰 (클레임 테이블이 아님)에없는 경우 특성이 사용자 역할을 읽지 않기 때문에 두 테이블에 역할을 저장하는 것이 잔인합니다.

왜 그럴까요? 사용자와 관련된 모든 것은 UserManager를 통해 액세스 할 수 있습니다. 그리고 토큰이 아닌 관련된 엔티티에서 역할을 읽을 것이라고 생각했습니다.

답변

0

아, 알겠습니다. 이제 작동합니다. AspNetUserRoles의 역할이 자동으로 토큰에 추가됩니다. 그래서 두 테이블에 역할을 저장할 필요가 없습니다. 왜 이전에 작동하지 않았는지 알 수 없습니다. 그러나 새로운 토큰을 발행 한 후에는 작동하는 것처럼 보입니다.