본문 바로가기

Spring69

Spring 숙련 9 (접근 불가 페이지 만들기) API 접근 권한 제어 이해 ( '일반 사용자'는 관리자 페이지에 접속이 인가되지 않아애 한다) Spring Security에 "권한 (Authority)" 설정방법 회원 상세정보 (UserDetailsImpl) 를 통해 "권한 (Authority)" 설정 "권한 이름" 규칙 : "ROLE_" 로 시작해야 함 "ROLE_ADMIN" " ROLE_USER" UserRoleEnum public enum UserRoleEnum { USER(Authority.USER), // 사용자 권한 ADMIN(Authority.ADMIN); // 관리자 권한 private final String authority; UserRoleEnum(String authority) { this.authority = authority;.. 2024. 1. 26.
Spring 숙련 8 (Spring Security : 로그인) (Spring Security JWT 로그인 ) 스프링 시큐리티 사용 전: 스프링 시큐리티 사용 후: 1. Client 의 요청은 모두 Spring Security 를 거치게됩니다. Spring Security 역할 : 인증/인가 : ( 성공 시: Controller 로 Client 요청 전달 ) / (실패 시: Controller 로 Client 요청 전달되지 않음 ( Error Response 보냄 )) 로그인 처리 과정 로그인 구현 WebSecurityConfig @Configuration @EnableWebSecurity // Spring Security 지원을 가능하게 함 public class WebSecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecuri.. 2024. 1. 26.
Spring 숙련 6 (필터) Filter란? Web 애플리케이션에서 관리되는 영역 Client로 부터 오는 요청과 응답에 대해 최초/최종 단계의 위치이며 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가할 수 있습니다. 주로 범용적으로 처리해야 하는 작업: 로깅 및 보안 처리 할때 활용합니다. 또한 인증, 인가와 관련된 로직들을 처리할 수도 있습니다. Filter를 사용하면 인증, 인가 와 관련된 로직을 비즈니스 로직과 분리하여 관리할 수 있습니다. Filter는 한 개만 존재하는 것이 아니라 이렇게 여러 개가 Chain 형식으로 묶여서 처리될 수 있습니다. 필터를 적용. 1.new package filter 만들기 2. 필터 클래스들 만들기 (Logging filter / AuthFilter) @Slf4j() topic 으로 .. 2024. 1. 25.
Spring 숙련 (5) (로그인 구현 JWT) LoginRequestDTO 만들기 @Setter @Getter public class LoginRequestDto { private String username; private String password; } 컨트롤러에 로그인 매핑 추가 // 유저 로그인 @PostMapping("/user/login") public String login(LoginRequestDto requestDto, HttpServletResponse res){ try { userService.login(requestDto,res); }catch (Exception e){ return "redirect:/api/user/login-page?error"; } return "redirect:/"; } 서비스에 private fina.. 2024. 1. 25.