diff --git a/build.gradle b/build.gradle index 0f83074..6c49996 100644 --- a/build.gradle +++ b/build.gradle @@ -25,9 +25,10 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.session:spring-session-data-redis' - implementation 'org.springframework.session:spring-session-core' implementation 'org.springframework.boot:spring-boot-starter-data-redis' + implementation 'org.springframework.session:spring-session-data-redis' + // implementation 'org.springframework.session:spring-session-core' + runtimeOnly 'com.h2database:h2' diff --git a/src/main/java/com/example/oneul/domain/user/command/UserCommandService.java b/src/main/java/com/example/oneul/domain/user/command/UserCommandService.java index 95940a1..3aebf90 100644 --- a/src/main/java/com/example/oneul/domain/user/command/UserCommandService.java +++ b/src/main/java/com/example/oneul/domain/user/command/UserCommandService.java @@ -9,4 +9,6 @@ import org.springframework.stereotype.Service; @Service public interface UserCommandService { UserEntity signUp(UserEntity userEntity, HttpSession httpSession); + UserEntity login(UserEntity userEntity , HttpSession httpSession); + UserEntity logout(UserEntity userEntity, HttpSession httpSession); } diff --git a/src/main/java/com/example/oneul/domain/user/command/UserCommandServiceImpl.java b/src/main/java/com/example/oneul/domain/user/command/UserCommandServiceImpl.java index a8bc723..c747957 100644 --- a/src/main/java/com/example/oneul/domain/user/command/UserCommandServiceImpl.java +++ b/src/main/java/com/example/oneul/domain/user/command/UserCommandServiceImpl.java @@ -36,5 +36,16 @@ public class UserCommandServiceImpl implements UserCommandService { log.info("session value: " + httpSession.getAttribute("user")); return user; } + + @Override + public UserEntity login(UserEntity userEntity, HttpSession httpSession){ + UserEntity user = (UserEntity) httpSession.getAttribute("user"); + return user; + } + + @Override + public UserEntity logout(UserEntity userEntity, HttpSession httpSession){ + return new UserEntity(); + } } diff --git a/src/main/java/com/example/oneul/domain/user/domain/UserEntity.java b/src/main/java/com/example/oneul/domain/user/domain/UserEntity.java index 18ad4d5..839238f 100644 --- a/src/main/java/com/example/oneul/domain/user/domain/UserEntity.java +++ b/src/main/java/com/example/oneul/domain/user/domain/UserEntity.java @@ -64,6 +64,8 @@ public class UserEntity implements Serializable { this.createdAt = createdAt; } + public UserEntity() {} + public UserEntity(Long id, String username, String password, LocalDateTime createdAt){ this.id = id; this.username = username; diff --git a/src/main/java/com/example/oneul/global/util/LoginCheckInterceptor.java b/src/main/java/com/example/oneul/global/util/LoginCheckInterceptor.java new file mode 100644 index 0000000..e6a369a --- /dev/null +++ b/src/main/java/com/example/oneul/global/util/LoginCheckInterceptor.java @@ -0,0 +1,28 @@ +package com.example.oneul.global.util; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.example.oneul.domain.user.domain.UserEntity; + +import org.springframework.web.servlet.HandlerInterceptor; + +public class LoginCheckInterceptor implements HandlerInterceptor{ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + HttpSession httpSession = request.getSession(false); + if(httpSession == null){ + response.sendRedirect("www.naver.com"); + return false; + } + + UserEntity userEntity = (UserEntity) httpSession.getAttribute("user"); + + if(userEntity == null){ + response.sendRedirect("www.google.com"); + return false; + } + return true; + } +}