forked from slipp/jwp-basic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLoginController.java
More file actions
31 lines (28 loc) · 1.03 KB
/
Copy pathLoginController.java
File metadata and controls
31 lines (28 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package next.controller;
import core.mvc.Controller;
import next.dao.UserDao;
import next.model.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginController implements Controller {
@Override
public String execute(HttpServletRequest req, HttpServletResponse resp) throws Exception {
String userId = req.getParameter("userId");
String password = req.getParameter("password");
UserDao userDao = new UserDao();
User user = userDao.findByUserId(userId);
if (user == null) {
req.setAttribute("loginFailed", true);
return "/user/login.jsp";
}
if (user.matchPassword(password)) {
HttpSession session = req.getSession();
session.setAttribute(UserSessionUtils.USER_SESSION_KEY, user);
return "redirect:/";
} else {
req.setAttribute("loginFailed", true);
return "/user/login.jsp";
}
}
}