Implementations comparison for the web components:
| Implementation | The security filter applies at a URL level | The security filter applies at a method level | The callback endpoint | The logout endpoint |
|---|---|---|---|---|
| spring-webmvc-pac4j | ![]() using the SecurityInterceptor |
![]() |
![]() using the CallbackController |
![]() using the LogoutController |
| spring-webflux-pac4j | ![]() using the SecurityWebFilter |
![]() |
![]() using the CallbackHandler |
![]() using the LogoutHandler |
| jee-pac4j | ![]() using the SecurityFilter |
![]() |
![]() using the CallbackFilter |
![]() using the LogoutFilter |
| buji-pac4j | ![]() using the SecurityFilter |
![]() |
![]() using the CallbackFilter |
![]() using the LogoutFilter |
| spring-security-pac4j | ![]() using the SecurityFilter |
![]() |
![]() using the CallbackFilter |
![]() using the LogoutFilter |
| play-pac4j | ![]() using the SecurityFilter |
![]() using the @Secure annotation or the Security trait |
![]() using the CallbackController |
![]() using the LogoutController |
| vertx-pac4j | ![]() using the SecurityHandler |
![]() |
![]() using the CallbackHandler |
![]() using the LogoutHandler |
| spark-pac4j | ![]() using the SecurityFilter |
![]() |
![]() using the CallbackRoute |
![]() using the LogoutRoute |
| javalin-pac4j | ![]() using the SecurityHandler |
![]() |
![]() using the CallbackHandler |
![]() using the LogoutHandler |
| ratpack-pac4j | ![]() using the RatpackPac4j.login and RatpackPac4j.requireAuth methods |
![]() |
![]() using the RatpackPac4j.authenticator method |
![]() using the RatpackPac4j.logout() method |
| pippo-pac4j | ![]() using the Pac4jSecurityHandler |
![]() |
![]() using the Pac4jCallbackHandler |
![]() using the Pac4jLogoutHandler |
| undertow-pac4j | ![]() using the SecurityHandler |
![]() |
![]() using the CallbackHandler |
![]() using the LogoutHandler |
| CAS | ![]() |
![]() |
![]() |
![]() |
| jax-rs-pac4j | ![]() using the SecurityFilter |
![]() |
![]() using the CallbackFilter |
![]() using the LogoutFilter |
| dropwizard-pac4j | ![]() using the SecurityFilter |
![]() |
![]() using the CallbackFilter |
![]() using the LogoutFilter |
| lagom-pac4j | ![]() using service call composition with SecuredService interface |
![]() using authenticate() and authorize() methods |
![]() No callback endpoints (reactive microservices) |
![]() No logout endpoints (reactive microservices) |
| http4s-pac4j | ![]() using the SecurityHandler |
![]() |
![]() using the CallbackHandler |
![]() using the LogoutHandler |
| Knox | ![]() Federation provider for KnoxSSO service |
![]() |
![]() SSO callback via pac4j.callbackUrl |
![]() SSO logout handled by identity provider |
| jooby-pac4j2 | ![]() using the Pac4jSecurityFilter |
![]() |
![]() using the Pac4jCallback |
![]() using the Pac4jLogout |

