X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=util-testing%2Forg%2Fcacert%2Fgigi%2FDevelLauncher.java;h=df5a790d24297fd728316c9e0978da3ae8924eb7;hb=c0d431282363b3304dbade7d209b0e5c05a5d8fc;hp=e161b11d60c6a32c2778e13e16e7c79e8117d09d;hpb=e2c34865845ec00d4a1e4ba288517060f675609f;p=gigi.git diff --git a/util-testing/org/cacert/gigi/DevelLauncher.java b/util-testing/org/cacert/gigi/DevelLauncher.java index e161b11d..df5a790d 100644 --- a/util-testing/org/cacert/gigi/DevelLauncher.java +++ b/util-testing/org/cacert/gigi/DevelLauncher.java @@ -31,6 +31,7 @@ import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.Page; +import org.cacert.gigi.util.AuthorizationContext; import org.cacert.gigi.util.ServerConstants; import org.kamranzafar.jtar.TarEntry; import org.kamranzafar.jtar.TarHeader; @@ -168,6 +169,11 @@ public class DevelLauncher { Template t = new Template(DevelLauncher.class.getResource("DevelTicketWait.templ")); + @Override + public boolean needsLogin() { + return false; + } + @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setHeader("content-security-policy", ""); @@ -183,9 +189,14 @@ public class DevelLauncher { if ( !ticketUsed) { HttpSession sess = req.getSession(); User user = User.getById(1); + if (user == null) { + resp.getWriter().println("ticket consumed but no user available for that action"); + ticketUsed = true; + return true; + } sess.setAttribute(LOGGEDIN, true); sess.setAttribute(Language.SESSION_ATTRIB_NAME, user.getPreferredLocale()); - sess.setAttribute(USER, user); + sess.setAttribute(AUTH_CONTEXT, new AuthorizationContext(user, user)); req.getSession().setAttribute(LOGIN_METHOD, "Ticket"); resp.getWriter().println("ticket consumed"); ticketUsed = true;