일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ObjectOptimisticLockingFailureException
- java
- Spring Cloud Gateway
- jpa
- spring aop
- OptimisticLock
- @transactional
- 우아한 테크러닝
- multimodule testcontainers
- AccessToken
- 알고리즘
- Invalid property 'principal.username' of bean class
- 소수찾기 java
- TestContainers
- 낙관적 락 롤백
- DI
- 낙관적 락 재시도
- RefreshToken
- interface
- spring DI
- ObjectOptimisticLockingFailureException 처리
- 멀티모듈 테스트컨테이너
- 백준
- springsecurity
- kotest testcontainers
- aop
- redissonlock aop
- netty
- 형상관리
- S3
- Today
- Total
목록전체 글 (66)
조급하면 모래성이 될뿐
개인 프로젝트를 진행하면서, 계정의 권한별로 보여지는 메뉴리스트 구성을 달리하였다. 프로젝트의 내용은 자영업자들이 이벤트를 등록하면, 일반유저들이 이용하는방식이다. ㅇ 권한리스트 일반사용자 : ROLE_NORMAL 사업자 : ROLE_PARTNER, ROLE_NORMAL 일반사용자는 [ 가게등록 ] 메뉴를 볼 수 있다. [ 가게등록 ]메뉴는 사업자를 등록하는 메뉴이고, 사업자등록시 ROLE_PARTNER권한을 부여받는다. 사업자를 등록한 계정은 더이상 [ 가게등록 ]메뉴를 볼 필요가없다. 그러나, 일반사용자가 로그인 후, 사업자등록을하게되면 ROLE_NORMAL에 ROLE_PARTNER의 권한이 추가되지만, Reload된 메뉴구성에는 여전히 [ 가게등록 ]메뉴가 보이고있다.. 원인은 최초 로그인시 Spr..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/38THO/btqCID02avK/NZSn8cdUtay0JVcvfNoox0/img.png)
기존에 구축한 프로젝트에 SpringSecurity를 적용하였는데... 회원가입화면에서 2가지 기능에서 에러가 발생하였다.. ㅇ회원가입 화면 1. ID 중복체크버튼 클릭 [ AJAX를 통한 POST요청 ] ID중복체크 버튼을 눌러도 아무 반응이 없었다.. F12를 눌러서 에러를 확인해보니 아래와 같았다. 2. 회원가입버튼 클릭 [ form 태그를 이용한 POST요청 ] 회원가입 버튼을 눌렀더니, SpringSecurity의 access-denied-handler가 작동하였다.. 원래 access-denided-handler는 권한이 없는 사용자가 잘못된 URL접근을 제어하기위해 추가한 설정인데.. form태그에서 수행되는 action의 url은 permitall의 권한을 가지고있다. 즉, 이 에러도 똑같..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cdt0IW/btqB9XGEQ5d/dbScWw1txDpmzkHTlS2DdK/img.png)
참조 [ 사랑이 고픈 프로그래머 ] [ to-dy블로그 ] 목표 - 로그인 성공시 무조건 MainPage가아니고, 이전에 요청했던 URL로 이동할 수 있다. ( redirectURL설정 ) ex) 로그인 되지않은 상태에서 게시판조회를 할 수 없다고 가정해보자. 화면에서 게시판 조회를 누르면 로그인 창이 뜨게 될것이다. 이 때 로그인 성공했을 때 게시판 조회화면이 출력되도록 한다. - 로그인 성공시 로그인 실패 횟수를 초기화시켜준다. - 로그인 성공시 실패 에러 세션을 삭제한다. 성공 처리 로그인 성공 후 부가 작업을 하고 싶을 때, SpringSecurity에서 제공하는 인터페이스인 AuthenticationSuccessHandler를 구현한 클래스를 만들어서 onAutenticationSuccess 메..
SpringSecurity를 적용하면서 로그인 성공시 계정 정보를 가지고 오기 위해서 SpringSecurity에서 제공해주는 태그를 사용해서 아래와 같이 principal.username변수로 가지고 오고 있었는데, error가 발생하였다. 님, 반갑습니다. LOGOUT Error Invalid property 'principal.username' of bean class [org.springframework.security.authentication.UsernamePasswordAut henticationToken]: Bean property 'principal.username' is not readable or has an invalid getter method: Does the return typ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bIiSah/btqB5ikjWx1/a5TFykd6dFijL5ye2hKhZk/img.png)
참조 블로그 [ to-dy ] [ 사랑이 고픈 프로그래머 ] 목표 - SpringSeucurity를 활용하여 로그인 실패 시 처리되야하는 프로세스를 추가해보자. - 로그인 실패 시 실패 횟수를 증가시킨다. - 5번이상 실패하면 계정을 비활성화시킨다. - 로그인 실패에 대한 에러 메시지를 session처리 방식에서 request.setAttribute방식으로 변경한다. - 에러메시지를 하드 코딩하지 말고 별도 properties파일로 관리해보자. 작업 과정 기록하기 로그인 실패 시 수행될 프로세스를 정의하기 위해서는 AuthenticationFailureHandler 인터페이스를 구현 후 onAuthenticationFailure() 메서드를 재정의 해주면 된다! 아래는 onAuthenticationFai..