@Override public void handle(Request req, Response rsp) { WebContext context = req.require(WebContext.class); String redirectTo = req.<String>ifGet("pac4j.logout.redirectTo").orElse(defaultUrl); conf.getLogoutLogic() .perform(context, conf, conf.getHttpActionAdapter(), redirectTo, logoutUrlPattern, localLogout, destroySession, centralLogout); } }
@Override @SuppressWarnings("unchecked") public void handle(RouteContext routeContext) { Objects.requireNonNull(logoutLogic); Objects.requireNonNull(config); PippoWebContext webContext = new PippoWebContext(routeContext, config.getSessionStore()); logoutLogic.perform(webContext, config, config.getHttpActionAdapter(), defaultUrl, logoutUrlPattern, localLogout, destroySession, centralLogout); }
@RequestMapping("${pac4j.logout.path:/logout}") public void logout(final HttpServletRequest request, final HttpServletResponse response) { assertNotNull("logoutLogic", logoutLogic); assertNotNull("config", config); final J2EContext context = new J2EContext(request, response, config.getSessionStore()); logoutLogic.perform(context, config, J2ENopHttpActionAdapter.INSTANCE, this.defaultUrl, this.logoutUrlPattern, this.localLogout, this.destroySession, this.centralLogout); }
@Override public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException { assertNotNull("logoutLogic", logoutLogic); assertNotNull("config", config); final HttpServletRequest request = (HttpServletRequest) servletRequest; final HttpServletResponse response = (HttpServletResponse) servletResponse; final SessionStore<J2EContext> sessionStore = config.getSessionStore(); final J2EContext context = new J2EContext(request, response, sessionStore != null ? sessionStore : ShiroSessionStore.INSTANCE); logoutLogic.perform(context, config, J2ENopHttpActionAdapter.INSTANCE, this.defaultUrl, this.logoutUrlPattern, this.localLogout, false, this.centralLogout); }
@Override public void handleRequest(final HttpServerExchange exchange) throws Exception { assertNotNull("logoutLogic", logoutLogic); assertNotNull("config", config); final UndertowWebContext context = new UndertowWebContext(exchange, config.getSessionStore()); logoutLogic.perform(context, config, UndertowNopHttpActionAdapter.INSTANCE, defaultUrl, logoutUrlPattern, localLogout, destroySession, centralLogout); }
public CompletionStage<Result> logout() { assertNotNull("logoutLogic", logoutLogic); assertNotNull("config", config); final PlayWebContext playWebContext = new PlayWebContext(ctx(), playSessionStore); return CompletableFuture.supplyAsync(() -> logoutLogic.perform(playWebContext, config, config.getHttpActionAdapter(), this.defaultUrl, this.logoutUrlPattern, this.localLogout, this.destroySession, this.centralLogout), ec.current()); }
@Override public void handle(final RoutingContext routingContext) { assertNotNull("applicationLogoutLogic", logoutLogic); assertNotNull("config", config); final VertxWebContext webContext = new VertxWebContext(routingContext, sessionStore); vertx.executeBlocking(future -> { logoutLogic.perform(webContext, config, httpActionAdapter, defaultUrl, logoutUrlPattern, localLogout, destroySession, centralLogout); future.complete(null); }, false, asyncResult -> { // If we succeeded we're all good here, the job is done either through approving, or redirect, or // forbidding // However, if an error occurred we need to handle this here if (asyncResult.failed()) { routingContext.fail(new TechnicalException(asyncResult.cause())); } }); }
@Override public void handle(final RoutingContext routingContext) { assertNotNull("applicationLogoutLogic", logoutLogic); assertNotNull("config", config); final VertxWebContext webContext = new VertxWebContext(routingContext, sessionStore); vertx.executeBlocking(future -> { logoutLogic.perform(webContext, config, httpActionAdapter, defaultUrl, logoutUrlPattern, localLogout, destroySession, centralLogout); future.complete(null); }, false, asyncResult -> { // If we succeeded we're all good here, the job is done either through approving, or redirect, or // forbidding // However, if an error occurred we need to handle this here if (asyncResult.failed()) { routingContext.fail(new TechnicalException(asyncResult.cause())); } }); }
public CompletionStage<Result> logout() { assertNotNull("logoutLogic", logoutLogic); assertNotNull("config", config); final PlayWebContext playWebContext = new PlayWebContext(ctx(), playSessionStore); return CompletableFuture.supplyAsync(() -> logoutLogic.perform(playWebContext, config, config.getHttpActionAdapter(), this.defaultUrl, this.logoutUrlPattern, this.localLogout, this.destroySession, this.centralLogout), ec.current()); }
@Override public void doFilter(final ServletRequest req, final ServletResponse resp, final FilterChain chain) throws IOException, ServletException { assertNotNull("logoutLogic", logoutLogic); final Config config = getConfig(); assertNotNull("config", config); final J2EContext context = new J2EContext((HttpServletRequest) req, (HttpServletResponse) resp, config.getSessionStore()); if (mustApply(context)) { logoutLogic.perform(context, config, J2ENopHttpActionAdapter.INSTANCE, this.defaultUrl, this.logoutUrlPattern, this.localLogout, this.destroySession, this.centralLogout); } else { chain.doFilter(req, resp); } }
@Override protected void filter(JaxRsContext context) throws IOException { Config config = getConfig(); buildLogic(config).perform(context, config, adapter(config), context.getAbsolutePath(defaultUrl, false), context.getAbsolutePath(logoutUrlPattern, false), localLogout, destroySession, centralLogout); }
@Override public Object handle(final Request request, final Response response) throws Exception { assertNotNull("logoutLogic", logoutLogic); assertNotNull("config", config); final SparkWebContext context = new SparkWebContext(request, response, config.getSessionStore()); logoutLogic.perform(context, config, config.getHttpActionAdapter(), this.defaultUrl, this.logoutUrlPattern, this.localLogout, this.destroySession, this.centralLogout); return null; }
@Override protected void internalFilter(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) throws IOException, ServletException { assertNotNull("applicationLogoutLogic", logoutLogic); final Config config = getConfig(); assertNotNull("config", config); final J2EContext context = new J2EContext(request, response, config.getSessionStore()); retrieveLogoutLogic().perform(context, config, retrieveHttpActionAdapter(), this.defaultUrl, this.logoutUrlPattern, this.localLogout, this.destroySession, this.centralLogout); }
@Override protected void internalFilter(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) throws IOException, ServletException { assertNotNull("applicationLogoutLogic", logoutLogic); final Config config = getConfig(); assertNotNull("config", config); final JEEContext context = new JEEContext(request, response, config.getSessionStore()); retrieveLogoutLogic().perform(context, config, retrieveHttpActionAdapter(), this.defaultUrl, this.logoutUrlPattern, this.localLogout, this.destroySession, this.centralLogout); }