| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- spring boot
- 컴퓨터 구조
- LinkedList
- 스프링부트
- actuator
- 프로그래머스
- 서버
- restTemplate
- Java
- spring
- error
- 백준
- 연관관계
- QueryDSL
- JWT
- 개발자
- 백엔드공부
- 핵심가이드
- 제로베이스
- array
- ORM
- 백엔드스쿨
- SpringSecurity
- queue
- JPA
- 컴퓨터 공학
- 백엔드
- 자료구조
- TestCode
- SpringBoot
- Today
- Total
목록SpringSecurity (5)
be_better
에러내용 Springboot 2.x버전으로 프로젝트 진행 중 3.x버전으로 변경하게 되었고 SpringSecurity도 6.x 버전으로 Upgrade를 해야하는 상황이었다. Springboot, Security 둘다 버전업을 하고 Postman에서 정상적으로 동작하는것까지 확인했는데, 잘되던 Test Code Controller test에서 말썽이었다. Controller Test중 Body에는 아무값도 들어있지 않고 403 Forbidden이 발생한 상황 원인 Spring Security의 어노테이션인 EnableWebSecurity에는 기본적으로 CSRF 공격을 방지하는 기능을 갖고있다. CSRF(Cross-Site Request Forgery) 공격이란 사이트 간 요청 위조의 줄임말로 웹 애플리케이..
스프링 시큐리티와 JWT 적용 SpringSecurity 의존성 프로젝트 생성후 의존성을 추가 // gradle dependencies { // spring security implementation 'org.springframework.boot:spring-boot-starter-security' // jwt 토큰 implementation 'io.jsonwebtoken:jjwt:0.9.1' } // maven org.springframework spring-boot-starter-security io.jsonwebtoken jjwt 0.9.1 UserDetails와 UserDetailsService 구현 data/entity/User.java @Getter @Setter @AllArgsConstruc..
JWT(JSON Web Token) JWT 특징 당사자 간의 정보를 JSON 형태로 안전하게 전송하기 위한 토큰. URL로 이용할 수 있는 문자열로만 구성되어 있으며, 디지털 서명이 적용되어 있어 신뢰 가능. 주로 서버와의 통신에서 권한 인가를 위해 사용. HTTP 구성요소 어디든 위치할 수 있음. JWT 구조 JWT는 헤더(Header), 내용(Payload), 서명(Signature) 을 "."으로 구분하여 구성된다. 헤더 검증과 관련된 내용 { /* 해싱 알고리즘 지정, SHA256 또는 RSA 사용 서명 부분에서 사용됨 "HS256" 은 "HMAC SHA256" 알고리즘 사용을 의미 */ "alg": "HS256", /* 토큰의 타입 지정 */ "typ": "JWT" } 이렇게 완성된 헤더는 Ba..
보안 필터체인 종류 및 순서 보안필터 체인에서 사용하는 필터에는 여러 종류가 있다. 공식 문서에서 소개하는 필터의 실행 순서 ChannelProcessingFilter WebAsyncManagerIntergrationFilter SecurityContextPersistenceFilter HeaderWriterFilter CorsFilter CsrfFilter LogoutFilter OAuth2AuthorizationRequestRedirectFilter Saml2WebSsoAuthenticationRequestFilter X509AuthenticationFilter AbstractPreAuthenticationedProcessingFilter CasAuthenticationFilter OAuth2Logi..
보안 용어 인증 - authentication 사용자가 누구인지 확인하는 단계, 대표적인 예로 '로그인' 이 있다. 로그인 성공 -> 사용자에게 토큰(token) 전달 토큰이 없는 사용자는 리소스에 접근 x 인가 - authorization 토큰을 가진 인증된 사용자가 내부 리소스에 접근할 권리가 있는지 확인하는 과정. 사이트 등급에 따라 접근할 수 있는 기능이 다른 것이 대표적인 예시이다. 접근 주체 - principal 애플리케이션의 기능을 사용하는 주체 -> 사용자, 디바이스, 시스템 등이 될 수 있다. 인증 과정(신뢰하는 접근 주체인지 확인) -> 인가 과정(접근 주체에게 부여된 권한 확인) 스프링 시큐리티 스프링에 인증, 인가 등의 보안 기능을 적용할 때 사용함 스프링 시큐리티 동작 구조 서블릿..