Initial commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package com.mzh.library.controller;
|
||||
|
||||
import com.mzh.library.entity.AuthenticatedUser;
|
||||
import com.mzh.library.util.SessionAttributes;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
public class LogoutServlet extends HttpServlet {
|
||||
private static final Logger LOGGER = Logger.getLogger(LogoutServlet.class.getName());
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||
HttpSession session = request.getSession(false);
|
||||
if (session != null) {
|
||||
AuthenticatedUser user = currentUser(session);
|
||||
if (user != null) {
|
||||
LOGGER.info("Logout userId=" + user.getId() + " role=" + user.getRole().getCode());
|
||||
}
|
||||
session.invalidate();
|
||||
}
|
||||
|
||||
response.sendRedirect(request.getContextPath() + "/login");
|
||||
}
|
||||
|
||||
private AuthenticatedUser currentUser(HttpSession session) {
|
||||
Object value = session.getAttribute(SessionAttributes.AUTHENTICATED_USER);
|
||||
return value instanceof AuthenticatedUser ? (AuthenticatedUser) value : null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user