1919
2020import com .library .service .TrackingUserService ;
2121import com .library .service .UserService ;
22+ import com .library .util .SessionTracker ;
2223import jakarta .servlet .http .HttpSession ;
2324
2425/**
@@ -42,6 +43,11 @@ public class LoginController extends HttpServlet {
4243 DaoFactory .getAdminDao ()
4344 );
4445
46+ private final TrackingUserService trackService = new TrackingUserService (
47+ DaoFactory .getUserSessionDao ()
48+
49+ );
50+
4551 @ Override
4652 protected void doGet (HttpServletRequest request , HttpServletResponse response )
4753 throws ServletException , IOException {
@@ -64,19 +70,22 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
6470 protected void doPost (HttpServletRequest request , HttpServletResponse response )
6571 throws ServletException , IOException {
6672 HttpSession session = request .getSession ();
67- String username = request .getParameter ("account" );
73+ String account = request .getParameter ("account" );
6874 String pass = request .getParameter ("password" );
6975
7076
71- if (userDao .checkLogin (username , pass )) {
72- session .setAttribute ("account" , username );
73- TrackingUserService .add (username );
74- activityService .ActivityUser (1 , username );
75- userService .setOnlineUser (username );
77+ if (userDao .checkLogin (account , pass )) {
78+ session .setAttribute ("account" , account );
79+ TrackingUserService .add (account );
80+ activityService .ActivityUser (1 , account );
81+ userService .setOnlineUser (account );
82+ int userID = userDao .findUserID (account );
83+ trackService .updateData (session .getId (), userID );
84+ SessionTracker .addSession (session .getId (), session );
7685 response .sendRedirect (request .getContextPath () + "/book/list" );
7786 } else {
7887 session .setAttribute ("error" , "Tên đăng nhập không tồn tại!" );
79- if (username .trim ().isEmpty ()) {
88+ if (account .trim ().isEmpty ()) {
8089 session .setAttribute ("error" , "Vui lòng nhập tên đăng nhập!" );
8190 response .sendRedirect (request .getContextPath () + "/user/login" );
8291 return ;
@@ -86,8 +95,8 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
8695 return ;
8796 }
8897 // check login after user enter correcly
89- if (userDao .checkLogin (username , pass )) {
90- session .setAttribute ("account" , username );
98+ if (userDao .checkLogin (account , pass )) {
99+ session .setAttribute ("account" , account );
91100 response .sendRedirect (request .getContextPath () + "/book/list" );
92101 return ;
93102 } else {
0 commit comments