@@ -165,26 +165,29 @@ public String loginGet(Model model) {
165165 }
166166
167167 @ RequestMapping (value = "/login" , method = RequestMethod .POST )
168- public String loginPost (HttpServletRequest request , Model model ) {
168+ public String loginPost (HttpServletRequest request , HttpServletResponse response , Model model ) {
169169 String username = request .getParameter ("username" );
170170 String password = request .getParameter ("password" );
171171 boolean rememberMe = "on" .equals (request .getParameter ("rememberMe" ));
172172
173- // Authenticate the user
174173 Authentication auth = new UsernamePasswordAuthenticationToken (username , password );
175174 try {
176175 auth = authenticationManager .authenticate (auth );
177176 SecurityContextHolder .getContext ().setAuthentication (auth );
178177
179178 if (rememberMe ) {
180- // Logic for handling "Remember Me" can be added here if needed
179+ // Set a cookie for "Remember Me"
180+ javax .servlet .http .Cookie rememberMeCookie = new javax .servlet .http .Cookie ("rememberMe" , "true" );
181+ rememberMeCookie .setMaxAge (7 * 24 * 60 * 60 ); // 7 days
182+ rememberMeCookie .setHttpOnly (true );
183+ rememberMeCookie .setPath ("/" );
184+ response .addCookie (rememberMeCookie );
181185 }
182186 } catch (BadCredentialsException e ) {
183187 model .addAttribute ("error" , "Invalid username or password." );
184188 return "login" ;
185189 }
186190
187- // User is authenticated, redirect to landing page
188191 return "redirect:/" ;
189192 }
190193
0 commit comments