Skip to content

Commit d2afd25

Browse files
committed
feat: logout시 레디스에서 유저 정보 삭제
1 parent 6836633 commit d2afd25

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

src/main/java/cmf/commitField/domain/user/controller/LogoutController.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import jakarta.servlet.http.HttpServletRequest;
66
import jakarta.servlet.http.HttpServletResponse;
77
import lombok.RequiredArgsConstructor;
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.data.redis.core.StringRedisTemplate;
810
import org.springframework.stereotype.Controller;
911
import org.springframework.web.bind.annotation.PostMapping;
1012

@@ -14,6 +16,8 @@
1416
@RequiredArgsConstructor
1517
public class LogoutController {
1618

19+
@Autowired
20+
private StringRedisTemplate redisTemplate;
1721
private final UserService userService;
1822

1923
@PostMapping("/api/logout")
@@ -23,6 +27,9 @@ public void logout(HttpServletRequest request, HttpServletResponse response) thr
2327
request.getSession().invalidate();
2428
System.out.println("로그아웃 성공!");
2529

30+
//레디스에서 정보 삭제
31+
removeUserActive(username);
32+
2633
// Update user status to false (로그아웃)
2734
if (username != null) {
2835
userService.updateUserStatus(username, false);
@@ -38,4 +45,12 @@ public void logout(HttpServletRequest request, HttpServletResponse response) thr
3845
// CORS 대응을 위해 상태 코드만 반환하고, 프론트에서 리디렉션 처리하도록 함
3946
response.setStatus(HttpServletResponse.SC_OK);
4047
}
48+
49+
public void removeUserActive(String username) {
50+
boolean activeDeleted = redisTemplate.delete("commit_active:" + username);
51+
boolean lastCommittedDeleted = redisTemplate.delete("commit_lastCommitted:" + username);
52+
53+
System.out.println("commit_active 삭제: " + activeDeleted);
54+
System.out.println("commit_lastCommitted 삭제: " + lastCommittedDeleted);
55+
}
4156
}

src/main/java/cmf/commitField/global/security/SecurityConfig.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,6 @@ protected SecurityFilterChain config(HttpSecurity http) throws Exception {
7171
OAuth2AuthenticationToken oauth2Token = (OAuth2AuthenticationToken) authentication;
7272
OAuth2User principal = oauth2Token.getPrincipal();
7373
String username = principal.getAttribute("login");
74-
75-
//레디스에서 정보 삭제
76-
removeUserActive(username);
77-
78-
System.out.println("로그아웃 성공");
7974
response.setStatus(HttpServletResponse.SC_OK);
8075
response.sendRedirect("http://localhost:5173/"); // 로그아웃 후 홈으로 이동
8176
})
@@ -99,8 +94,4 @@ public CorsConfigurationSource corsConfigurationSource() {
9994
return source;
10095
}
10196

102-
public void removeUserActive(String username) {
103-
redisTemplate.delete("commit_active:" + username);
104-
redisTemplate.delete("commit_lastCommitted:" + username);
105-
}
10697
}

0 commit comments

Comments
 (0)