X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FGigi.java;h=6ca25d7d9e49a373f20ce38b6de866dd71f9e6d3;hb=e11f39ada6c4a32e6cd77a47bb876666a2918db9;hp=c52b98f0a7e5fc83df19e554d34f5f84aff95fc7;hpb=35565f877af05e8783c1ac28171b8e2cab0d02b5;p=gigi.git diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java index c52b98f0..6ca25d7d 100644 --- a/src/org/cacert/gigi/Gigi.java +++ b/src/org/cacert/gigi/Gigi.java @@ -22,6 +22,7 @@ import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.pages.LoginPage; import org.cacert.gigi.pages.MainPage; import org.cacert.gigi.pages.Page; +import org.cacert.gigi.pages.main.RegisterPage; import org.cacert.gigi.util.PasswordHash; import org.eclipse.jetty.util.log.Log; @@ -36,6 +37,7 @@ public class Gigi extends HttpServlet { public void init() throws ServletException { pages.put("/login", new LoginPage("CACert - Login")); pages.put("/", new MainPage("CACert - Home")); + pages.put(RegisterPage.PATH, new RegisterPage()); String templ = ""; try { BufferedReader reader = new BufferedReader(new InputStreamReader( @@ -57,14 +59,14 @@ public class Gigi extends HttpServlet { throws ServletException, IOException { X509Certificate[] cert = (X509Certificate[]) req .getAttribute("javax.servlet.request.X509Certificate"); - HttpSession hs = req.getSession(false); - if (hs == null || hs.getAttribute(LOGGEDIN) == null) { + HttpSession hs = req.getSession(); + if (hs.getAttribute(LOGGEDIN) == null) { if (cert != null) { tryAuthWithCertificate(req, cert[0]); - hs = req.getSession(false); + hs = req.getSession(); } } - if (hs != null && ((Boolean) hs.getAttribute("loggedin")) + if (hs.getAttribute("loggedin") != null && req.getPathInfo().equals("/login")) { resp.sendRedirect("/"); return; @@ -84,7 +86,7 @@ public class Gigi extends HttpServlet { return; } - if ((hs == null || !((Boolean) hs.getAttribute("loggedin"))) + if (hs.getAttribute("loggedin") == null && !"/login".equals(req.getPathInfo())) { System.out.println(req.getPathInfo()); resp.sendRedirect("/login"); @@ -94,13 +96,17 @@ public class Gigi extends HttpServlet { String b0 = baseTemplate[0]; Page p = pages.get(req.getPathInfo()); b0 = makeDynTempl(b0, p); - resp.setContentType("text/html"); + resp.setContentType("text/html; charset=utf-8"); resp.getWriter().print(b0); if (hs != null && hs.getAttribute(LOGGEDIN) != null) { resp.getWriter().println( "Hi " + ((User) hs.getAttribute(USER)).getFname()); } - p.doGet(req, resp); + if (req.getMethod().equals("POST")) { + p.doPost(req, resp); + } else { + p.doGet(req, resp); + } String b1 = baseTemplate[1]; b1 = makeDynTempl(b1, p); resp.getWriter().print(b1);