Skip to content

Commit b57c6e8

Browse files
committed
Enhance Remember Me feature to store username in cookie for better functionality
1 parent 3a92cd9 commit b57c6e8

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/main/java/net/codejava/AppController.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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", username);
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

Comments
 (0)