org.pac4j.core.engine.DefaultLogoutLogic Java Examples

The following examples show how to use org.pac4j.core.engine.DefaultLogoutLogic. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: LogoutHandler.java    From vertx-pac4j with Apache License 2.0 6 votes vote down vote up
@Override
public void handle(final RoutingContext routingContext) {

    final LogoutLogic<Void, VertxWebContext> bestLogic = FindBest.logoutLogic(null, config, DefaultLogoutLogic.INSTANCE);
    final HttpActionAdapter<Void, VertxWebContext> bestAdapter = FindBest.httpActionAdapter(null, config, VertxHttpActionAdapter.INSTANCE);

    final VertxWebContext webContext = new VertxWebContext(routingContext, sessionStore);

    vertx.executeBlocking(future -> {
                bestLogic.perform(webContext, config, bestAdapter, 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()));
                }
            });

}
 
Example #2
Source File: LogoutFilter.java    From jax-rs-pac4j with Apache License 2.0 5 votes vote down vote up
protected LogoutLogic<Object, JaxRsContext> buildLogic(Config config) {
    if (logoutLogic != null) {
        return logoutLogic;
    } else if (config.getLogoutLogic() != null) {
        return config.getLogoutLogic();
    } else {
        DefaultLogoutLogic<Object, JaxRsContext> logic = new DefaultLogoutLogic<>();
        logic.setProfileManagerFactory(JaxRsProfileManager::new);
        return logic;
    }

}
 
Example #3
Source File: LogoutController.java    From spring-webmvc-pac4j with Apache License 2.0 5 votes vote down vote up
@RequestMapping("${pac4j.logout.path:/logout}")
public void logout(final HttpServletRequest request, final HttpServletResponse response) {

    final SessionStore<JEEContext> bestSessionStore = FindBest.sessionStore(null, config, JEESessionStore.INSTANCE);
    final HttpActionAdapter<Object, JEEContext> bestAdapter = FindBest.httpActionAdapter(null, config, JEEHttpActionAdapter.INSTANCE);
    final LogoutLogic<Object, JEEContext> bestLogic = FindBest.logoutLogic(logoutLogic, config, DefaultLogoutLogic.INSTANCE);

    final JEEContext context = (JEEContext) FindBest.webContextFactory(null, config, JEEContextFactory.INSTANCE)
            .newContext(request, response, bestSessionStore);
    bestLogic.perform(context, config, bestAdapter, this.defaultUrl, this.logoutUrlPattern,
            this.localLogout, this.destroySession, this.centralLogout);
}
 
Example #4
Source File: LogoutFilter.java    From jee-pac4j with Apache License 2.0 5 votes vote down vote up
@Override
protected void internalFilter(final HttpServletRequest request, final HttpServletResponse response,
                                       final FilterChain chain) throws IOException, ServletException {

    final Config config = getSharedConfig();

    final SessionStore<JEEContext> bestSessionStore = FindBest.sessionStore(null, config, JEESessionStore.INSTANCE);
    final HttpActionAdapter<Object, JEEContext> bestAdapter = FindBest.httpActionAdapter(null, config, JEEHttpActionAdapter.INSTANCE);
    final LogoutLogic<Object, JEEContext> bestLogic = FindBest.logoutLogic(logoutLogic, config, DefaultLogoutLogic.INSTANCE);

    final JEEContext context = new JEEContext(request, response, bestSessionStore);
    bestLogic.perform(context, config, bestAdapter, this.defaultUrl, this.logoutUrlPattern, this.localLogout, this.destroySession, this.centralLogout);
}