refactor(auth): 프론트엔드/백엔드 로그인 로직 개선
- 프론트엔드: login.js, api-helper.js, auth.js 모듈화 및 책임 분리 - 백엔드: authController가 역할 기반 redirectUrl을 제공하도록 수정 - 로그인 프로세스의 안정성 및 유지보수성 향상
This commit is contained in:
@@ -19,7 +19,33 @@ const login = async (req, res) => {
|
||||
return res.status(result.status || 400).json({ error: result.error });
|
||||
}
|
||||
|
||||
res.json(result.data);
|
||||
// 로그인 성공 후, 역할에 따라 리디렉션 URL을 결정
|
||||
const user = result.data.user;
|
||||
let redirectUrl;
|
||||
|
||||
switch (user.role) {
|
||||
case 'admin':
|
||||
case 'system': // 'system'도 관리자로 취급
|
||||
redirectUrl = '/pages/dashboard/admin.html';
|
||||
break;
|
||||
case 'leader':
|
||||
redirectUrl = '/pages/dashboard/group-leader.html';
|
||||
break;
|
||||
case 'support':
|
||||
// 예시: 지원팀 대시보드가 있다면
|
||||
// redirectUrl = '/pages/dashboard/support.html';
|
||||
// 없다면 일반 사용자 대시보드로
|
||||
redirectUrl = '/pages/dashboard/user.html';
|
||||
break;
|
||||
default:
|
||||
redirectUrl = '/pages/dashboard/user.html';
|
||||
}
|
||||
|
||||
// 최종 응답에 redirectUrl을 포함하여 전달
|
||||
res.json({
|
||||
...result.data,
|
||||
redirectUrl: redirectUrl
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('Login controller error:', error);
|
||||
|
||||
Reference in New Issue
Block a user