Spring

Spring

[Spring Security] BCryptPasswordEncoder 암호화된 비밀번호 검증 어떻게 할까?

1. 문제스프링 시큐리티를 사용해서 비밀번호를 저장하면 암호화 되어 아래와 같이 Hash 로직에 의해 암호화 되서 들어간다.저장은 했는데, 입력했을 때 비교는 어떻게 할까? // 비밀번호 검증public boolean authPassword(String email, String password) { // 이메일로 유저 검증 Optional optionalUser = userRepository.findByEmail(email); if (optionalUser.isPresent()) { // 유저가 있다면 existsByPassword로 비교 User user = optionalUser.get(); String passwordHash = bCryptPasswordE..

Spring

[Spring] 프론트엔드에서 값 입력 누락 시, 백엔드 데이터 JSON 처리 어떻게 될까? + null 값에 .equals() 사용시 에러(24/11/09 수정)

* 개발 환경- IDE : IntelliJ IDEA- backend : Spring Boot 3.3.5- others : Postman1. 문제백엔드 개발을 진행하면서, 프론트엔드에서 값을 입력하지 않은 채로 데이터를 백엔드로 보낼 경우 어떻게 처리되는지 궁금했다. 특히 임시 저장 기능을 구현할 때, 값이 변하지 않는 항목들에 대한 처리 방안을 고민하게 되었다. 그래서 실제로 테스트를 통해 입력되지 않은 값이 백엔드에서 어떻게 나타나는지를 확인해 보았다. 사실 가장 궁금한 것은, 입력 누락 시 서비스단에서 데이터를 처리해야 하는데 NullPointerException 에러가 발생해서 짚고 넘어가면 좋겠다 싶어서 글을 작성하게 되었다.  @RestControllerpublic class BlogContro..

Spring

[Spring] Postman 포스트맨, 토큰 자동 주입, 자동으로 들어가게 만들기(Tests tab 없는 사람)

우선 post맨 사이트에 들어가면 https://learning.postman.com/docs/tests-and-scripts/write-scripts/test-scripts/ Write scripts to test API response data in Postman | Postman Learning CenterPostman is a collaboration platform for API development. Postman's features simplify each step of building an API and streamline collaboration so you can create better APIs—faster.learning.postman.com Tests tab이 Post-respon..

Spring

[Spring Security] 스프링 시큐리티 로그아웃 구현 여러가지 + postman

스프링 시큐리티로 로그인, 로그아웃을 구현하다 보면 애매르송한 부분이 한둘이 아니다. login controller를 만들지 않아도 'http://localhost:8080/login"으로 로그인이 된다. 여기서 애매르송한게 '스프링 부트 3 백엔드 개발자 되기' 책을 보면 login controller는 만들지 않았는데 logout controller는 만든다. 그럼 이제 로그아웃 구현 여러가지 시도해보자 1. RESTful API 방식 로그아웃// 로그아웃 @GetMapping("/api/logout") public ResponseEntity logout(HttpServletRequest request, HttpServletResponse response) { /* ..

Spring

[Spring Security] Spring Security 적용 후, Postman에서 발생하는 redirect loop 문제(24/11/09 수정)

1. 문제Spring Security 적용 후, Postman으로 회원가입을 완료했지만 다른 페이지로 접근이 되지 않는다.*Spring Security 설정은 책 '스프링 부트3 백엔드 개발자되기' 를 참고해서 설정깃 주소 : https://github.com/shinsunyoung/springboot-developer'/api/signup' 회원 가입은 되는 것을 확인 했다. 회원 가입 후 '/api/test' 다른 url로 변경하고 send버튼을 눌러 request를 요청했다. -> 당연히 백엔드 컨트롤러가 작성되어 있어야 한다. 'api/test' url을 요청 했을 때 'Probably stuck in redirect loop http://localhost:8080/login' 에러가 발생한다. ..

돌맹이떼굴떼굴
'Spring' 카테고리의 글 목록