Fork me on GitHub

Implementations comparison for the web objects:

Categories

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