Implementations comparison for the web objects:
| Implementation | The default WebContext |
The default SessionStore |
The default HttpActionAdapter |
The default UrlResolver |
The default AjaxRequestResolver |
|---|---|---|---|---|---|
| spring-webmvc-pac4j | ![]() JEEContext |
![]() JEESessionStore.INSTANCE |
![]() JEEHttpActionAdapter.INSTANCE |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| spring-webflux-pac4j | ![]() SpringWebfluxWebContext |
![]() SpringWebfluxSessionStore |
![]() SpringWebfluxHttpActionAdapter.INSTANCE |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| jee-pac4j | ![]() JEEContext |
![]() JEESessionStore.INSTANCE |
![]() JEEHttpActionAdapter.INSTANCE |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| buji-pac4j | ![]() JEEContext |
![]() ShiroSessionStore.INSTANCE |
![]() JEEHttpActionAdapter.INSTANCE |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| spring-security-pac4j | ![]() JEEContext |
![]() JEESessionStore.INSTANCE |
![]() JEEHttpActionAdapter.INSTANCE |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| play-pac4j | ![]() PlayWebContext |
![]() PlayCacheSessionStore to use the Play Cache, PlayCookieSessionStore to use the Play session cookie |
![]() PlayHttpActionAdapter.INSTANCE |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| vertx-pac4j | ![]() VertxWebContext |
![]() VertxSessionStore |
![]() DefaultHttpActionAdapter |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| spark-pac4j | ![]() SparkWebContext |
![]() JEESessionStore |
![]() SparkHttpActionAdapter |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| javalin-pac4j | ![]() JavalinWebContext |
![]() JEESessionStore |
![]() JavalinHttpActionAdapter |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| ratpack-pac4j | ![]() RatpackWebContext |
![]() RatpackSessionStore |
![]() |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| pippo-pac4j | ![]() PippoWebContext |
![]() PippoSessionStore |
![]() PippoNopHttpActionAdapter.INSTANCE |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| undertow-pac4j | ![]() UndertowWebContext |
![]() UndertowSessionStore |
![]() UndertowNopHttpActionAdapter |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| CAS | ![]() JEEContext |
![]() JEESessionStore.INSTANCE or DistributedJEESessionStore |
![]() JEEHttpActionAdapter.INSTANCE |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| jax-rs-pac4j | ![]() JaxRsContext, ServletJaxRsContext and GrizzlyJaxRsContext |
![]() NoOpSessionStoreFactory, ServletSessionStore and GrizzlySessionStore |
![]() DefaultJaxRsHttpActionAdapter.INSTANCE |
![]() JaxRsUrlResolver |
![]() JaxRsAjaxRequestResolver |
| dropwizard-pac4j | ![]() JaxRsContext, ServletJaxRsContext and GrizzlyJaxRsContext |
![]() ServletSessionStore and GrizzlySessionStore |
![]() DefaultJaxRsHttpActionAdapter.INSTANCE |
![]() JaxRsUrlResolver |
![]() JaxRsAjaxRequestResolver |
| lagom-pac4j | ![]() LagomWebContext (limited immutable implementation) |
![]() No session store support (stateless microservices) |
![]() No HTTP action adapter needed (reactive composition) |
![]() No URL resolution needed (reactive streams) |
![]() No AJAX resolution needed (reactive streams) |
| http4s-pac4j | ![]() Http4sWebContext |
![]() Http4sCacheSessionStore or Http4sGenericSessionStore |
![]() DefaultHttpActionAdapter |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |
| Knox | ![]() J2EContext (federation provider) |
![]() SSO cookies managed by KnoxSSO service |
![]() J2EHttpActionAdapter.INSTANCE (federation) |
![]() DefaultUrlResolver (federation) |
![]() DefaultAjaxRequestResolver (federation) |
| jooby-pac4j2 | ![]() Pac4jContext |
![]() Pac4jSessionStore |
![]() Pac4jActionAdapter |
![]() DefaultUrlResolver |
![]() DefaultAjaxRequestResolver |

