본문 바로가기

Springsecurity3

JWT JWT (Json Web Token) 이란? JSOIN Web Token(JWT) 은 인터넷 표준 (RFC 7519)으로, 두 개체 간에 정보를 JSON 객체로 안전하게 전송하기 위한 컴팩트하고 자가 정보가 포함된 방식입니다. 이 정보는 디지털 서명이 되어 있으므로 신뢰할 수 있습니다. JWT는 비밀 (HMAC 알고리즘 사용) 또는 RSA , ECDSA를 사용하는 공개 / 개인 키 쌍을 사용하여 서명할 수 있습니다. 컴팩트함 : JWT는 URL, POST 파라미터, HTTP 헤더에 쉽게 전송될 수 있을 만큼 작아서 통신 과정에서 효율적입니다. 자가 포함 : JWT는 필요한 모든 정보를 자체적으로 포함합니다. 예를들어, 사용자에 대한 신원 정보나 토큰이 발행된 시점 등을 포함할 수 있습니다. 쉽게 말해 당.. 2023. 12. 12.
인가 스프링 시큐리티는 인증(authentication) 인가(authorization)를 위한 프레임워크로, 웹 보안을 담당합니다. 인가란 이미 인증된 사용자에게 특정 리소스에 대한 접근 권한을 부여하거나 제한하는 과정 입니다. 1. 수동적 인가 방식 아래 소스 코드에서 처럼 특정 리소스에 대한 권한을 수동으로 매핑합니다. URL 방식 @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/shop/login", "/shop/users/**").permitAll() .antMatchers("/shop/mypage").hasRole("USER") // 구체적인 경.. 2023. 12. 12.
인증 FormLogin SpringSecurity에는 세부적인 보안 기능을 설정할 수 있는 API를 제공합니다. 스프링 시큐리티의 인증 플로우 1. 간단한 FormLogin 구현 1.1 Security Config 파일 작성 @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig { private final AuthenticationService authenticationService; @Bean public WebSecurityCustomizer webSecurityCustomizer() { return (web) -> web.ignoring() .mvcMatchers("/images/**", "/favicon.ico","no.. 2023. 12. 12.