Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 반복문
- 메서드
- for문
- function
- 메서드 오버로딩
- 상수
- 생성자
- 자바 멀티스레딩
- IntelliJ IDEA
- continue문
- 포함관계
- break문
- While
- 컴파일
- 시스템 환경 변수 편집
- 형 변환
- 연관관계
- Java데이터 타입
- JAVA기초
- 접근제어지시자
- OPP개념
- 집합관계
- this예약어
- multi-threading
- 인텔리제이 기초 설정
- java변수
- Java
- JAVA객체지향
- 인텔리제이 한글 깨짐 해결법
- Thread
Archives
- Today
- Total
최원종의 개발 블로그
V13-2 로그인시 메서드 수정(암호화 처리) 본문
기존 로그인 쿼리 수정
// 암호화 처리시 사용자의 이름만 받을 수 있도록 쿼리를 수정한다.
@Query("""
SELECT distinct u FROM User u
LEFT JOIN FETCH u.roles r
WHERE u.username = :username
""")
Optional<User> findByUsernameWithRoles(@Param("username") String username);
data.sql 파일에 샘플 데이터 암호화 처리
-- User 테이블 데이터 (5명의 사용자 암호화 처리 버전)
INSERT INTO user_tb (username, password, email, created_at) VALUES
('admin', '$2a$10$P/7pu5bD0qMvw2ozkhXIzu1Jqa53LNa5zlsLBot3tr0/CUUapQypK', 'admin@blog.com', NOW()),
('ssar', '$2a$10$P/7pu5bD0qMvw2ozkhXIzu1Jqa53LNa5zlsLBot3tr0/CUUapQypK', 'ssar@nate.com', NOW()),
('cos', '$2a$10$P/7pu5bD0qMvw2ozkhXIzu1Jqa53LNa5zlsLBot3tr0/CUUapQypK', 'cos@gmail.com', NOW()),
('hong', '$2a$10$P/7pu5bD0qMvw2ozkhXIzu1Jqa53LNa5zlsLBot3tr0/CUUapQypK', 'hong@naver.com', NOW()),
('kim', '$2a$10$P/7pu5bD0qMvw2ozkhXIzu1Jqa53LNa5zlsLBot3tr0/CUUapQypK', 'kim@daum.net', NOW());
UserService 로그인 로직 수정
/**
* 로그인 처리
* @param loginDTO (사용자가 요청한 로그인 정보)
* @return User(조회된 정보 세션 저장용)
*/
public User 로그인(UserRequest.LoginDTO loginDTO) {
log.info("로그인 서비스 시작");
// 1. 사용지 계정 여부 확인
User userEntity = userRepository.findByUsernameWithRoles(loginDTO.getUsername())
.orElseThrow(() -> {
log.warn("로그인 실패 - 사용자 이름 또는 사용자 비번 잘못 입력");
return new Exception400("사용자명 또는 비밀번호가 올바르지 않습니다");
});
// 2. 암호화 된 비밀번호 검증
if(!passwordEncoder.matches(loginDTO.getPassword(), userEntity.getPassword())) {
throw new Exception400("사용자명 또는 비밀번호가 올바르지 않습니다");
}
return userEntity;
}
'Spring boot 입문' 카테고리의 다른 글
| V13-4 마이페이지 소셜 이미지 출력하기 위한 코드 수정 (0) | 2026.06.02 |
|---|---|
| V13-3 회원 가입시 출처 관리 (로컬, 소셜) (0) | 2026.06.02 |
| V13 비밀번호 암호화 (회원 가입시 암호화 처리 ) (0) | 2026.06.02 |
| V12 - 2 카카오 소셜 로그인 (0) | 2026.05.26 |
| V12-1 Oauth 2.0 (카카오 소셜 로그인) (0) | 2026.05.26 |
