일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SpringBoot
- myBatis
- react captcha
- react 자동입력방지
- maven
- build
- spring security 로그인
- react simple captcha
- spring error
- react 상태
- 스프링 시큐리티
- 스프링 시큐리티 로그인
- Security 로그인
- 리액트 심플캡차
- jpa
- error
- Spring Boot
- 젠킨스
- git
- react 캡차
- Docker
- CI
- react 심플캡차
- 리액트 캡차
- 깃
- ChatGPT
- Spring Security
- 에러
- REACT
- 스프링
- Today
- Total
목록개발자 모드/응용 (30)
I can do it(Feat. DEV)

2022.11.03 - [개발자 모드/Spring Security] - Spring Security 사용하여 로그인 구현하기 Spring Security 사용하여 로그인 구현하기 다들 아시다시피 Spring Security 5.7.x 버전 이후부터 WebSecurityConfigurerAdapter가 deprecate(사용되지 않게) 될 예정이기 때문에 Spring Security에서 지향하는 SecurityFilterChain을 @Bean으로 등록하는 방식으로 진 precious-value.tistory.com 에 이어서 이번엔 관리자, 사용자 각각의 화면과 로그인 기능을 구현해보려고 함. 필자도 공부하면서 진행하는 거라서 틀린 점 있을 수 있음!! 알려주시면 감사하겠음!!! 1. 개발 스펙 - Spr..

다들 아시다시피 Spring Security 5.7.x 버전 이후부터 WebSecurityConfigurerAdapter가 deprecate(사용되지 않게) 될 예정이기 때문에 Spring Security에서 지향하는 SecurityFilterChain을 @Bean으로 등록하는 방식으로 진행해보겠음. Spring Security without the WebSecurityConfigurerAdapter에서 자세한 설명 확인 가능함. 필자는 먼저 단일 로그인 방식, 즉 하나의 security config로 로그인을 구현한 뒤, 멀티 로그인 방식으로 진행할 예정(다음 포스팅에서)임. 멀티 로그인 방식은 쉽게 말해 사용자, 관리자의 로그인 화면이 개별로 있고 spring security 설정도 사용자, 관리자 ..

유지보수 중 테스트를 위해서 session을 날려야 하는 순간에 맞닥뜨렸음. 갓글에 검색해보니 쉽게 해결되었음. 필자는 Spring Security 로그인 성공 시 이동하도록 설정한 SuccessHandler에 시간 설정을 했음. //authentication-success-handler 코드 HttpSession session = request.getSession();//세션을 가져옴 session.setMaxInactiveInterval(60);//파라미터에 넣는 값이 설정 시간임(초단위) 위와 같이 설정하면 60초 뒤에 세션이 날아감. 간단 그자체! 📢참조 https://javaoop.tistory.com/104 [Spring] Session 우선순위 및 시간 설정 변경하기 Session 우선순위 ..

다른 프로젝트에서 @ControllerAdvice라는 어노테이션을 발견함. 갓글에 검색해보니 보편적으로 패키지로 범위를 지정하여 전역 컨트롤러를 만듦으로써, 예외 처리를 적용시킬 때 사용하는 것 같음. 필자는 예외 처리 말고 또 다른 사용법 중 하나인 @ModelAttribute를 이용하여 다른 컨트롤러에서 뿌려주는 화면 단에서 모델 정보를 사용할 예정임. 먼저 ControllderAdvice 클래스를 만들어야 함. //JPA, Spring Boot 사용 @ControllerAdvice(basePackages = {"com.exam.controller.user"})//패키지 설정 public class UserControllerAdvice { @Autowired private BoardRepository..

저번 글에 이어서 사용자가 입력한 문자 체크하는 방법 및 새로고침 기능 구현을 계속해서 진행해 봄. 혹시 캡차 이미지 구현을 아직 안 하신 분을 위해(https://precious-value.tistory.com/14) React Simple Captcha(자동입력방지) 추가하기(1) 담당자에게서 몇몇 사용자들이 예약 관련 매크로를 사용해 예약을 한다는 항의 전화가 자꾸 와서 자동 입력 방지 라이브러리를 추가하여 매크로를 방지해보려고 함. 여기서 잠깐 Captcha란? ※Capt precious-value.tistory.com 먼저 1. 새로고침 기능 구현을 진행해 봄. //새로고침 버튼 getImage(e)//새로고침 버튼을 클릭했을 때 로직 } > 새로고침 저번시간에 만들었던 새로고침 버튼을 클릭했을..

담당자에게서 몇몇 사용자들이 예약 관련 매크로를 사용해 예약을 한다는 항의 전화가 자꾸 와서 자동 입력 방지 라이브러리를 추가하여 매크로를 방지해보려고 함. 여기서 잠깐 Captcha란? ※Captcha란? Completely Automated Public Turing test to tell Computers and Humans Apart의 약자로, 컴퓨터와 사람을 구분 짓기 위한 완전 자동 튜링 테스트라고 함. 찾아보니 Captcha 종류가 여러 개였는데 아마 우리가 가장 잘 알고 있는 게 구글의 reCAPTCHA가 아닐까 싶음. (사실 필자는 이 친구 별로 안 좋아함. 인증 스트레스🤬🤬) 어르신들이 많이 쓰는 예약사이트라 reCAPTCHA를 넣으면 민원이 최소 10배는 늘 것 같아서 제외함. 담당자 ..

토스 페이먼츠를 사용하여 결제 시스템을 구현한 웹 사이트를 유지보수하던 중. 카드 전표(영수증)를 뽑을 수 있냐는 담당자의 문의 전화가 왔음. 토스 페이먼츠 개발자 센터를 찾아보니 되는 것 같음. ※주의 이 글은 토스 페이먼츠 결제시스템이 구현된 상태에서 진행해야 함. 위 로직대로 사용자가 결제를 완료하여, 설정한 결제성공 리다이렉트 URL에서 결제 정보를 Payment 테이블에 저장을 함. //토스페이먼츠에서 받아오는 결제정보 "card": { "company": "농협", "number": "12345678****789*", "installmentPlanMonths": 0, "isInterestFree": false, "interestPayer": null, "approveNo": "00000000"..

회원가입 중 아이디 유효성 검사를 하는데, 영문자 + 숫자 , 6자리 이상으로 정규식으로 체크를 하여 진행했음. //기존코드 let idCheck = /^(?=.*?[A-Za-z])(?=.*?[0-9]).{6,}$/; //영문자 + 숫자 , 6자이상 //주의 ! 특수문자 포함가능임. 하지만 특수문자가 아이디에 포함되면 안 돼서 기존 정규식을 수정하거나, 특수문자를 제외하는 정규식을 만들어 한번 더 체크해야 했음. 기존 정규식을 수정하는 게 코드도 안 길어지고 좋아서 바로 갓글 검색. 영문자와 숫자만 입력할 수 있는 정규식으로 수정. //수정코드 let idCheck = /^[A-Za-z0-9]{6,}$/;//영문자 + 숫자만 , 6자 이상 if (idCheck.test(e.target.value)) { ..