import javax.servlet.http.HttpServletRequest;
+import org.cacert.gigi.Gigi;
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.template.Form;
String ticket = req.getParameter("ticketno");
if (ticket.matches("[asdmASDM]\\d{8}\\.\\d+")) {
AuthorizationContext ac = LoginPage.getAuthorizationContext(req);
- ac.setSupporterTicketId(ticket);
+ req.getSession().setAttribute(Gigi.AUTH_CONTEXT, new AuthorizationContext(ac.getActor(), ticket));
return true;
}
return false;
} else if (req.getParameter("deleteTicket") != null) {
AuthorizationContext ac = LoginPage.getAuthorizationContext(req);
- ac.setSupporterTicketId(null);
+ req.getSession().setAttribute(Gigi.AUTH_CONTEXT, new AuthorizationContext(ac.getActor(), ac.getActor()));
return true;
}
return false;
this.actor = actor;
}
+ public AuthorizationContext(User actor, String supporterTicket) throws GigiApiException {
+ this.target = actor;
+ this.actor = actor;
+ if ( !isInGroup(Group.SUPPORTER)) {
+ throw new GigiApiException("requires a supporter");
+ }
+ supporterTicketId = supporterTicket;
+ }
+
public CertificateOwner getTarget() {
return target;
}
return ac.getActor();
}
- public void setSupporterTicketId(String supporterTicketId) throws GigiApiException {
- if ( !isInGroup(Group.SUPPORTER)) {
- throw new GigiApiException("requires a supporter");
- }
- this.supporterTicketId = supporterTicketId;
- }
-
public String getSupporterTicketId() {
return supporterTicketId;
}