권한 부여 구성: 액세스 제한
권한 부여 구성: 액세스 제한
권한 부여
식별된 클라이언트가 요청된 리소스에 액세스할 권한이 있는지 시스템이 결정하는 프로세스
클라이언트가 요청한다.
인증이 완료되면 사용자 세부 정보가 보안 컨텍스트에 저장되고 요청이 권한 부여 필터로 위임된다.
권한 부여 필터가 요청을 허용할지 결정한다.
권한이 부여되면 요청이 컨트롤러로 전달된다.
7.1. 권한과 역할에 따라 접근 제한
UserDetailsService가 UserDetails를 검색한다.
UserDetails는 GrantedAuthority로 표현된 하나 이상의 권한을 가진다.
7.1.1. 사용자 권한을 기준으로 모든 엔드포인트에 접근 제한
write 권한이 있는 사용자만 접근을 허용한다.
책에서는 SpEL 식을 사용했지만 deprecated 되었다.
7.1.2. 사용자 역할을 기준으로 모든 엔드포인트에 대한 접근을 제한
역할은 사용자가 수행할 수 있는 작업을 나타내는 다른 방법으로, 권한과의 차이점을 이해하는 것이 중요하다.
역할은 결이 굵다. 특정 역할이 있는 사용자는 해당 역할에 허가된 작업만 할 수 있다.
권한은 결이 곱다.
역할도 GrantedAuthority 계약으로 나타낸다.
접두사
ROLE_
로 시작해야 한다.
단, 역할을 선언할 때만 접두사를 사용하고 역할을 이용할 때는 제외한다.
authorities() eotls roles()를 사용할 때는 접두사를 붙이지 않는다.
7.1.3. 모든 엔드포인트에 대한 접근 제한
모든 요청을 거부할 수 있다.
ex. com이 붙은 이메일 주소가 아니면 모두 거부할 때
Last updated
Was this helpful?