

250613 김혜민 회원가입 오류 수정
@38e52d19e32115d61d7a551dbff46da89b8e4639
--- src/main/java/com/takensoft/cms/mber/service/Impl/MberServiceImpl.java
+++ src/main/java/com/takensoft/cms/mber/service/Impl/MberServiceImpl.java
... | ... | @@ -58,7 +58,7 @@ |
58 | 58 |
* @throws UsernameNotFoundException - 가입하지 않은 계정으로 로그인 시도 시 |
59 | 59 |
* @throws Exception - 그 외 예외 발생 시 |
60 | 60 |
* |
61 |
- * security 상속 시 Override 하는 메소드 - 통합 로그인 대응 |
|
61 |
+ * security 상속 시 Override 하는 메소드 |
|
62 | 62 |
*/ |
63 | 63 |
@Override |
64 | 64 |
@Transactional(readOnly = true) |
... | ... | @@ -82,7 +82,7 @@ |
82 | 82 |
* @throws DataAccessException - db 관련 예외 발생 시 |
83 | 83 |
* @throws Exception - 그 외 예외 발생 시 |
84 | 84 |
* |
85 |
- * 아이디 중복 검사 - 통합 로그인 대응 |
|
85 |
+ * 아이디 중복 검사 |
|
86 | 86 |
*/ |
87 | 87 |
@Override |
88 | 88 |
public boolean findByCheckLoginId(String lgnId) { |
--- src/main/java/com/takensoft/cms/mber/web/AdmMbrController.java
+++ src/main/java/com/takensoft/cms/mber/web/AdmMbrController.java
... | ... | @@ -133,7 +133,8 @@ |
133 | 133 |
boolean isExistence = mbrService.findByCheckLoginId(joinDTO.getLgnId()); |
134 | 134 |
|
135 | 135 |
// 회원 가입 진행 |
136 |
- HashMap<String, Object> result = admMbrService.mbrInsert(req, joinDTO); |
|
136 |
+ //HashMap<String, Object> result = admMbrService.mbrInsert(req, joinDTO); |
|
137 |
+ HashMap<String, Object> result = mbrService.userJoin(req, joinDTO); |
|
137 | 138 |
return resUtil.successRes(result, MessageCode.SIGNUP_SUCCESS); |
138 | 139 |
} |
139 | 140 |
/** |
--- src/main/java/com/takensoft/common/filter/LoginFilter.java
+++ src/main/java/com/takensoft/common/filter/LoginFilter.java
... | ... | @@ -35,7 +35,7 @@ |
35 | 35 |
* 2025.05.29 | takensoft | OAuth2 통합 개선 |
36 | 36 |
* 2025.06.09 | takensoft | 기존 시스템 로그인 방식 복원 |
37 | 37 |
* |
38 |
- * 사용자 로그인 요청을 처리하는 Filter - 기존 방식 복원 |
|
38 |
+ * 사용자 로그인 요청을 처리하는 Filter |
|
39 | 39 |
*/ |
40 | 40 |
public class LoginFilter extends UsernamePasswordAuthenticationFilter { |
41 | 41 |
|
--- src/main/java/com/takensoft/common/oauth/handler/OAuth2AuthenticationSuccessHandler.java
+++ src/main/java/com/takensoft/common/oauth/handler/OAuth2AuthenticationSuccessHandler.java
... | ... | @@ -55,22 +55,18 @@ |
55 | 55 |
@Override |
56 | 56 |
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException { |
57 | 57 |
try { |
58 |
- log.info("OAuth2 로그인 성공 핸들러 시작"); |
|
59 | 58 |
|
60 | 59 |
// OAuth2User 타입 확인 및 정보 추출 |
61 | 60 |
OAuth2UserInfo userInfo = extractUserInfo(authentication); |
62 | 61 |
|
63 | 62 |
if (userInfo == null) { |
64 |
- log.error("사용자 정보 추출 실패"); |
|
65 | 63 |
handleOAuth2Error(response, new Exception("사용자 정보 추출 실패")); |
66 | 64 |
return; |
67 | 65 |
} |
68 | 66 |
|
69 |
- log.info("OAuth2 사용자 정보 추출 성공 - Provider: {}, Email: {}", userInfo.provider, userInfo.email); |
|
70 | 67 |
|
71 | 68 |
// 현재 설정된 로그인 모드 확인 |
72 | 69 |
String currentLoginMode = loginModeService.getLoginMode(); |
73 |
- log.info("현재 로그인 모드: {}", currentLoginMode); |
|
74 | 70 |
|
75 | 71 |
// 통합 로그인 서비스를 통한 OAuth2 사용자 처리 |
76 | 72 |
MberVO mber = unifiedLoginService.processOAuth2User( |
... | ... | @@ -89,14 +85,11 @@ |
89 | 85 |
// LoginUtil을 통한 통합 로그인 처리 |
90 | 86 |
loginUtil.successLogin(mber, request, response); |
91 | 87 |
|
92 |
- // ★★★ 중요: 메인 페이지로 리다이렉트 (login.page가 아닌 /) |
|
93 | 88 |
String redirectUrl = String.format("%s/?oauth_success=true&loginMode=%s", frontUrl, currentLoginMode); |
94 |
- log.info("OAuth2 성공 리다이렉트: {}", redirectUrl); |
|
95 | 89 |
|
96 | 90 |
getRedirectStrategy().sendRedirect(request, response, redirectUrl); |
97 | 91 |
|
98 | 92 |
} catch (Exception e) { |
99 |
- log.error("OAuth2 로그인 처리 중 오류", e); |
|
100 | 93 |
handleOAuth2Error(response, e); |
101 | 94 |
} |
102 | 95 |
} |
... | ... | @@ -107,8 +100,6 @@ |
107 | 100 |
private OAuth2UserInfo extractUserInfo(Authentication authentication) { |
108 | 101 |
Object principal = authentication.getPrincipal(); |
109 | 102 |
String provider = determineProvider(authentication); |
110 |
- |
|
111 |
- log.info("Principal 타입: {}, Provider: {}", principal.getClass().getSimpleName(), provider); |
|
112 | 103 |
|
113 | 104 |
try { |
114 | 105 |
if (principal instanceof CustomOAuth2UserVO) { |
... | ... | @@ -131,11 +122,9 @@ |
131 | 122 |
OAuth2User oauth2User = (OAuth2User) principal; |
132 | 123 |
return extractOAuth2UserInfo(oauth2User, provider); |
133 | 124 |
} else { |
134 |
- log.error("지원하지 않는 Principal 타입: {}", principal.getClass()); |
|
135 | 125 |
return null; |
136 | 126 |
} |
137 | 127 |
} catch (Exception e) { |
138 |
- log.error("사용자 정보 추출 중 오류", e); |
|
139 | 128 |
return null; |
140 | 129 |
} |
141 | 130 |
} |
... | ... | @@ -145,7 +134,6 @@ |
145 | 134 |
*/ |
146 | 135 |
private OAuth2UserInfo extractOidcUserInfo(OidcUser oidcUser, String provider) { |
147 | 136 |
try { |
148 |
- log.info("OIDC 사용자 정보 추출 시작 - Provider: {}", provider); |
|
149 | 137 |
|
150 | 138 |
String id = oidcUser.getSubject(); // OIDC의 subject가 사용자 ID |
151 | 139 |
String name = oidcUser.getFullName(); |
... | ... | @@ -156,12 +144,8 @@ |
156 | 144 |
name = oidcUser.getEmail(); |
157 | 145 |
} |
158 | 146 |
String email = oidcUser.getEmail(); |
159 |
- |
|
160 |
- log.info("OIDC 정보 - ID: {}, Name: {}, Email: {}", id, name, email); |
|
161 |
- |
|
162 | 147 |
return new OAuth2UserInfo(provider, id, name, email); |
163 | 148 |
} catch (Exception e) { |
164 |
- log.error("OIDC 사용자 정보 추출 실패", e); |
|
165 | 149 |
return null; |
166 | 150 |
} |
167 | 151 |
} |
... | ... | @@ -171,9 +155,7 @@ |
171 | 155 |
*/ |
172 | 156 |
private OAuth2UserInfo extractOAuth2UserInfo(OAuth2User oauth2User, String provider) { |
173 | 157 |
try { |
174 |
- log.info("OAuth2 사용자 정보 추출 시작 - Provider: {}", provider); |
|
175 | 158 |
Map<String, Object> attributes = oauth2User.getAttributes(); |
176 |
- log.info("OAuth2 Attributes: {}", attributes.keySet()); |
|
177 | 159 |
|
178 | 160 |
String id = null; |
179 | 161 |
String name = null; |
... | ... | @@ -210,10 +192,8 @@ |
210 | 192 |
break; |
211 | 193 |
} |
212 | 194 |
|
213 |
- log.info("추출된 정보 - ID: {}, Name: {}, Email: {}", id, name, email); |
|
214 | 195 |
return new OAuth2UserInfo(provider, id, name, email); |
215 | 196 |
} catch (Exception e) { |
216 |
- log.error("OAuth2 사용자 정보 추출 실패", e); |
|
217 | 197 |
return null; |
218 | 198 |
} |
219 | 199 |
} |
... | ... | @@ -225,12 +205,10 @@ |
225 | 205 |
if (authentication instanceof OAuth2AuthenticationToken) { |
226 | 206 |
OAuth2AuthenticationToken oauth2Token = (OAuth2AuthenticationToken) authentication; |
227 | 207 |
String registrationId = oauth2Token.getAuthorizedClientRegistrationId(); |
228 |
- log.info("OAuth2 Registration ID: {}", registrationId); |
|
229 | 208 |
return registrationId.toLowerCase(); // 소문자로 통일 |
230 | 209 |
} |
231 | 210 |
|
232 | 211 |
String name = authentication.getName(); |
233 |
- log.info("Authentication Name: {}", name); |
|
234 | 212 |
|
235 | 213 |
if (name != null) { |
236 | 214 |
String lowerName = name.toLowerCase(); |
--- src/main/resources/mybatis/mapper/mber/mber-SQL.xml
+++ src/main/resources/mybatis/mapper/mber/mber-SQL.xml
... | ... | @@ -97,7 +97,7 @@ |
97 | 97 |
|
98 | 98 |
<!-- |
99 | 99 |
작성자 : takensoft |
100 |
- 내 용 : 회원정보 조회 [security 용] - 통합 로그인 대응 |
|
100 |
+ 내 용 : 회원정보 조회 |
|
101 | 101 |
--> |
102 | 102 |
<select id="findByMberSecurity" parameterType="String" resultMap="mberMap"> |
103 | 103 |
<include refid="selectMber" /> |
... | ... | @@ -140,7 +140,7 @@ |
140 | 140 |
<!-- |
141 | 141 |
작성자 : takensoft |
142 | 142 |
작성일 : 2024.04.03 |
143 |
- 내 용 : 로그인 아이디 중복 확인 - 통합 로그인 대응 |
|
143 |
+ 내 용 : 로그인 아이디 중복 확인 |
|
144 | 144 |
--> |
145 | 145 |
<select id="findByCheckLoginId" parameterType="String" resultType="boolean"> |
146 | 146 |
SELECT COUNT(*) > 0 |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?