X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2FLogoutPage.java;fp=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2FLogoutPage.java;h=62379e72095f9fd2204ef07c450fd1121b180ca4;hb=bccd4cc0dba0f89aa045b113bac46eb8cc1dab4e;hp=0000000000000000000000000000000000000000;hpb=c9ed09f0007fc2c813815be927a5a24b23dab83c;p=gigi.git diff --git a/src/club/wpia/gigi/pages/LogoutPage.java b/src/club/wpia/gigi/pages/LogoutPage.java new file mode 100644 index 00000000..62379e72 --- /dev/null +++ b/src/club/wpia/gigi/pages/LogoutPage.java @@ -0,0 +1,38 @@ +package club.wpia.gigi.pages; + +import java.io.IOException; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import club.wpia.gigi.Gigi; +import club.wpia.gigi.util.AuthorizationContext; + +public class LogoutPage extends Page { + + public static final String PATH = "/logout"; + + public LogoutPage() { + super("Logout"); + } + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { + HttpSession hs = req.getSession(); + if (req.getPathInfo() != null && req.getPathInfo().equals("/logout")) { + if (hs != null) { + hs.setAttribute(Gigi.LOGGEDIN, null); + hs.invalidate(); + } + resp.sendRedirect("/"); + return; + } + } + + @Override + public boolean isPermitted(AuthorizationContext ac) { + return ac != null; + } + +}