본문 바로가기
반응형

spring boot 2.7 security4

Spring Security 설정 (Dynamic) 권한 설정을 Hierarchy를 이용해 적용하는 방법도 있지만, 동적으로 설정해주는 것도 가능하다. 예를들어, /user URL에 GET과 POST 두 가지가 있는데, POST는 ROLE_ADMIN만 접근 가능하다면? Hierarchy 설정은 이런부분에서 유연하게 대처할 수 없다. 이런 상황에서 동적으로 접근권한을 설정한다면 더 유연하게 사용할 수 있으며 컨트롤러에 불필요한 어노테이션(@PreAuthorize)을 붙이지 않아도 된다. 단점은 DB에 권한 관련 설계를 할 때, 어떻게 설계하느냐에 따라 구조가 복잡해질 수 있다는 점이다. 본 포스팅의 코드는 여기서 확인 가능합니다😉 이 포스팅은 DB 설계까지는 하지 않고, 하드코딩으로.. 아래와 같이 접근권한을 제한하여 개발을 진행하려한다. GET POST .. 2022. 9. 2.
Spring Security 설정 (Hierarchy) 보통의 경우라면, ADMIN권한을 가진 회원은 전체 url에 접근할 수 있고, USER권한을 가진 회원이라면 /admin url에는 접근하지 못한다. 권한이 몇개가 되었든 권한에 서열이 존재한다면 Hierarchy를 이용해 간단하게 권한을 설정할 수 있다. 본 포스팅의 코드는 여기서 확인 가능합니다😉 0. 시작 전 테스트를 위해 data.sql 파일에 아래와 같은 sql을 입력해주었다. insert into public.authority (authority_id, role) values (1, 'ROLE_ADMIN'), (2, 'ROLE_USER'), (3, 'ROLE_COMPANY'); insert into public.users (user_id, name, password, authority_id) .. 2022. 9. 2.
Spring Security 설정 (JWT 2) 로그인까지 성공했으니, 로그인한 사용자의 토큰으로 권한별 api를 호출해야한다. 나는 USER, ADMIN 권한 2개를 만들었고, 각 권한은 /user 와 /admin 주소로 들어갈 수 있도록 설정하였다. 그 외의 주소는 전부 접속 가능하도록 만들었다. 보통 설계에서는 ADMIN 권한으로 /user까지 접속 가능한게 대부분이다. 이부분에 관련해서는 다음 포스팅에 작성하도록 하겠다! 본 포스팅의 코드는 여기서 확인 가능합니다😉 0. 토큰을 포함하여 api 호출하기 프론트엔드에서의 호출이나 swagger, postman을 사용하여 api를 호출할 때, 헤더에 Authorization을 넣어서 api 요청을 하면 된다. 이 때, TokenProvider에서 설정한 TokenType을 같이 넣어주어야한다. sw.. 2022. 8. 31.
Spring Security 설정 (기본) 시큐리티 설정은 맨날 해도 맨날 모르겠는 설정 중 하나인 것 같다. 포스팅을 하면서 다시 기본을 익히는 시간을 갖도록 해야겠다. 0. 참고 및 코드 spring.io 블로그 해당 코드는 여기에서 확인 가능합니다. 😉 1. 환경 JAVA 8 Spring Boot 2.7.3 Spring Security 2.7.3 2. 기본 설정 1. build.gradle implementation 'org.springframework.boot:spring-boot-starter-security' 2. SecurityConfig spring security 5.7 이상 버전부터 WebSecurityConfigurerAdapter가 Deprecated되었다. spring boot 2.7.3은 spring-security 5... 2022. 8. 31.
반응형