refactor(auth): 프론트엔드/백엔드 로그인 로직 개선

- 프론트엔드: login.js, api-helper.js, auth.js 모듈화 및 책임 분리
- 백엔드: authController가 역할 기반 redirectUrl을 제공하도록 수정
- 로그인 프로세스의 안정성 및 유지보수성 향상
This commit is contained in:
2025-07-28 12:00:30 +09:00
parent d154514fa0
commit e0e0b1ad99
4 changed files with 195 additions and 112 deletions

View File

@@ -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);