Implementations comparison for the profile management:

Categories

Implementation The default profile manager The profile manager is automatically available One profile is automatically available All profiles are automatically available
spring-webmvc-pac4j
ProfileManager

by injection thanks to the ComponentConfig
spring-webflux-pac4j
ProfileManager
jee-pac4j
ProfileManager

by injection thanks to the Pac4jProducer

via the getUserPrincipal() method in the HttpServletRequest
buji-pac4j
ShiroProfileManager

via the regular SecurityUtils.getSubject()

via the regular SecurityUtils.getSubject()
spring-security-pac4j
SpringSecurityProfileManager

via the regular SecurityContextHolder.getContext().getAuthentication()

via the regular SecurityContextHolder.getContext().getAuthentication()
play-pac4j
ProfileManager

in the templates via the Pac4jScalaTemplateHelper

in the templates via the Pac4jScalaTemplateHelper
vertx-pac4j
VertxProfileManager
spark-pac4j
ProfileManager
javalin-pac4j
ProfileManager
ratpack-pac4j
ProfileManager

via the RatpackPac4j.userProfile(ctx) method
pippo-pac4j
ProfileManager
undertow-pac4j
UndertowProfileManager

From the securityContext.getAuthenticatedAccount()

From the securityContext.getAuthenticatedAccount()
CAS
ProfileManager
jax-rs-pac4j
JaxRsProfileManager

via @Pac4JProfileManager injection

via @Pac4JProfile injection or SecurityContext.getUserPrincipal()

via Pac4JSecurityContext.getProfiles()
dropwizard-pac4j
JaxRsProfileManager

via @Pac4JProfileManager injection

via @Pac4JProfile injection or SecurityContext.getUserPrincipal()

via Pac4JSecurityContext.getProfiles()
lagom-pac4j
CommonProfile passed via service composition

via service call parameters
http4s-pac4j
ProfileManager

via the AuthedRoutes[List[CommonProfile], F] of the secured routes

via the AuthedRoutes[List[CommonProfile], F] of the secured routes
Knox
ProfileManager (via jee-pac4j)

via getUserPrincipal() method (via jee-pac4j)
jooby-pac4j
ProfileManager

via the ctx.getUser() method