Implementations comparison regarding the version of pac4j:
| Implementation | pac4j version (latest) |
Framework version | JDK requirement (for that version) |
|---|---|---|---|
| spring-webmvc-pac4j | 6.x | Spring 6.x - 7.x | JDK 17+ |
| spring-webflux-pac4j | 6.x | Spring WebFlux 6.x+ | JDK 17+ |
| jee-pac4j | 6.x | JEE 8+ / Jakarta EE 9+ | JDK 17+ |
| buji-pac4j | 6.x | Apache Shiro 3.x | JDK 17+ |
| spring-security-pac4j | 6.x | Spring Security 6.x / 7.x | JDK 17+ |
| play-pac4j | 6.x | Play Framework 3.0 (2.8 and 2.9 with play-pac4j 12.0.x) |
JDK 17+ |
| vertx-pac4j | 6.x | Vert.x 5.x | JDK 17+ |
| spark-pac4j | 6.x | Spark Java 2.9+ | JDK 17+ |
| javalin-pac4j | 6.x | Javalin 7.x | JDK 17+ |
| ratpack-pac4j | 6.x | Ratpack 1.9+ | JDK 17+ |
| undertow-pac4j | 6.x | Undertow 2.4 | JDK 17+ |
| jax-rs-pac4j | 6.x | Jakarta RS 3.x - 4.x | JDK 17+ |
| dropwizard-pac4j | 6.x | Dropwizard 5.0+ | JDK 17+ |
| http4s-pac4j | 6.x | Http4s 0.23+ | JDK 17+ |
| Knox | 6.x | Apache Knox 3.x | JDK 17+ |
| jooby-pac4j | 6.x | Jooby 4.x (3.x on JDK 17+) |
JDK 21+ |
| pippo-pac4j | 2.x | Pippo 1.x | JDK 8+ |
| CAS | 6.x | Apereo CAS 7.x - 8.x | JDK 21+ (JDK 25+ for CAS 8.x) |
This table lists the latest version of each implementation. The current pac4j 6.x line requires JDK 17; the older 4.x (JDK 8) and 5.x (JDK 11) lines are no longer maintained, though critical security fixes are backported to them — see the security policy.