일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 객체지향 언어
- static
- GitHub
- 메서드
- Diary 해우소
- 클래스
- 스파르타내일배움캠프TIL
- 성장기록
- Github_token
- 내일배움캠프
- #내일배움캠프
- 생성자
- 감사기록
- 스레드
- 포맷은 최후의 보루
- #스파르타내일배움캠프TIL
- 인스턴스
- #스파르타내일배움캠프
- Token
- JVM
- Java
- 변수의 다양성
- Java의 이점
- diary
- 스파르타내일배움캠프
- KPT
- 해우소
- Git
- TiL_1st_0419
- 회고록
- Today
- Total
목록2024/09 (8)
몬그로이
Caused by: java.lang.IllegalArgumentException: Illegal base64 character 20 라는 에러 발생 환경변수에 넣어둔 secretkey가 잘못됐다는 것 새로 생성해서 넣음Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class 라는 에러 발생 DB 설정을 yml 에 적지 않아서 발생한 문제였음 https://psip31.tistory.com/139 Spring Error | Failed to configure a Da..
Security (Filter) 를 거친후 JWT 발급이 진행된다그렇기 때문에 마지막에 설정해야 하는 것은 SecurityConfig 클래스필터 단에서 보안과 관련한 설정들이 담겨있다고 생각하면 된다 원래는 WebSecurityConfigurerAdapter 를 상속을 받아서 Override 하면 되는 것이었지만spring security 5.7 이상에서 더 이상 WebSecurityConfigurerAdapter 사용을 권장하지 않는다 대신 SecurityFilterChain을 반환하는 메서드를 Bean 으로 등록하여 SecurityConfig에 넣으면 된다 ** SecurityFilterChain은 스프링 시큐리티의 핵심 구성 요소 중 하나로,HTTP 요청이 들어올 때 필터 체인에서 각각의 필터가 순..
refresh JWT를 발급할 때는 확인해야 하는 사항이 없는 것일까? - refreshToken은 accessToken을 발급하면서 함께 발급이 된다- 그렇다고 매개변수로 아무것도 받지 않는 것은 좋지 못하다고 생각하는 이유가, 위변조를 하기 쉬워질 것이기 때문이다- 따라서 authentication을 매개변수로 받아서 username 이나 authorities를 세팅해 놓는 게 좋겠다 >>>>>createToken 메서드 작성시 Jwt를 build 하는데 설정할 수 있는 것들 중에ID도 설정할 수 있다는 사실을 알았다!일반적으로 jwi라고 부르며, 설정 메서드는 .setID() 추가로 1. setIssuer() // 발행한 사람 기록2. addClaims() 또는 setClaims() 도 쓸모있는 것..
사전 작업 User 와 UserRoleType Entity 생성조건: User 가 갖는 UserRoleType을 collection 타입으로 설정클래스 분류- JWT 정의하기 (JWT 생성과 소멸, 가져오기, 확인하기 >> 토큰을 통한 사용자 정보 얻기)- JwtAuthenticationFilter 설정하기 (클라이언트가 로그인시 사용, 정의된 JWT 를 생성하는 과정에 넣음)- JwtAuthorizationFilter 설정하기 (클라이언트가 데이터 요청시 사용, 쿠키에서 JWT를 가져와서 확인할 때 정의된 JWT를 넣음)- SecurityConfig 설정하기 (Security >> AuthenticationFilter >> AuthorizationFilter 순서도 설정해야 하므로 4번째) JwtPro..
AuthenticationSuccessHandler로그인 성공 시 추가적인 처리가 필요할 때 사용 LogoutSuccessHandler로그아웃 성공 시 커스텀 처리를 하고 싶을 때 사용 AccessDeniedHandler접근이 거부되었을 때(즉, 권한이 없는 사용자가 보호된 리소스에 접근하려 할 때) RememberMeServices자동 로그인을 위한 "Remember-Me" 기능을 커스터마이즈할 때 사 SessionAuthenticationStrategy세션 관리 전략을 커스터마이즈할 때 사용 AuthenticationProvider사용자 인증 자체를 커스터마이즈하고 싶을 때 사용 위 클래스들을 implements 받은 클래스를 생성하여각 클래스에 맞게 오버라이드 하면 됨
JWT 를 공부하면서HttpServletResponse 로 반환하는 것과 Dto로 반환하는 것의 차이에 대해 궁금증이 생겼다여태 API를 작성할 때는 Entity로 응답했는데쿠키를 반환할때는 HttpServletresponse 를 이용하여 응답하니까 정확한 차이가 궁금해 졌던 것 그러다가Dto 로 반환하도록 설계하기도 한다는 사실을 처음 알게되었다대신 어노테이션을 사용하며, 200 OK 인 경우에는 생략한다는 사실도. 만약 컨트롤러에서 뷰 생성까지 맡은 경우에는 모델에 데이터를 담아서 뷰를 생성한다프론트에서(클라이언트) 뷰를 생성하는 경우에는 컨트롤러에서 HttpServletResponse에 데이터를 담아 보낸다 https://yeonyeon.tistory.com/257 [Spring] Respons..
기본적인 Filter 안에 Delegating Filter Proxy 라는 서블릿 필터가 있다 Security에서 제공하는 Filter들을 실행시키는 클래스는 Filter Chain Proxy인데,이 Filter Chain Proxy를 Delegating Filter Proxy가 실행 시킨다*Security Filter 들에 커스텀한 Filter를 넣을 수도 있다 즉, 로그인을 요청하면 필터들이 제일 먼저 반응하는데, 그 중에 Delegating Filter Proxy라는 것이 있어서그 필터가 작동되면서 Filter Chain Proxy를 실행시키고,이 Filter Chain Proxy가 Security 필터들을 작동시키는 것 Spring Security는 기본적으로 세션 쿠키 방식을 사용해서 인증 절차..
한 서버에서 데이터를 받기 위해서는 인증과 인가를 거치도록 하는 경우가 있다 인증(Authentication) / 인가(Authorization) 의 차이는? 인증은 해당 서버를 이용하기 위해 회원으로 등록한 유저임을 확인받는 것인가는 인증된 유저가 데이터를 사용할 수 있도록 허가하는 것 얼핏 보기에 서버와 유저가 데이터를 주고 받기 때문에 연결이 된 것으로 인식이 되어지지만사실은 쿠키세션 방식이나 JWT 방식을 통해서 Connection Statless 를 유지하고 있다 *Statless 는 유저의 정보를 서버가 계속해서 가지고 있지 않는 상태 그렇다면 쿠키세션 방식과 JWT 방식이 무엇이길래연결을 유지하지 않고도 데이터를 주고받도록 인증과 인가를 거치도록 할 수 있는 것일까?*JWT = JSON We..