Class RedissonSingleSignOn

java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.valves.ValveBase
org.apache.catalina.authenticator.SingleSignOn
org.redisson.tomcat.RedissonSingleSignOn
All Implemented Interfaces:
MBeanRegistration, org.apache.catalina.Contained, org.apache.catalina.JmxEnabled, org.apache.catalina.Lifecycle, org.apache.catalina.Valve

public class RedissonSingleSignOn extends org.apache.catalina.authenticator.SingleSignOn
Extended implementation of Tomcat SSO valve to use Redis or Valkey as a storage. This allows to cluster Tomcat without sticky sessions.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle

    org.apache.catalina.Lifecycle.SingleUse
  • Field Summary

    Fields inherited from class org.apache.catalina.authenticator.SingleSignOn

    cache

    Fields inherited from class org.apache.catalina.valves.ValveBase

    asyncSupported, container, containerLog, next

    Fields inherited from interface org.apache.catalina.Lifecycle

    AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    associate(String ssoId, org.apache.catalina.Session session)
     
    protected void
     
    void
    invoke(org.apache.catalina.connector.Request request, org.apache.catalina.connector.Response response)
     
    protected boolean
    reauthenticate(String ssoId, org.apache.catalina.Realm realm, org.apache.catalina.connector.Request request)
     
    protected void
    register(String ssoId, Principal principal, String authType, String username, String password)
     
    protected void
    removeSession(String ssoId, org.apache.catalina.Session session)
     
    void
    sessionDestroyed(String ssoId, org.apache.catalina.Session session)
     
    protected boolean
    update(String ssoId, Principal principal, String authType, String username, String password)
     

    Methods inherited from class org.apache.catalina.authenticator.SingleSignOn

    getCookieDomain, getCookieName, getRequireReauthentication, getSessionListener, populateRequestFromSsoEntry, sessionChangedId, setCookieDomain, setCookieName, setRequireReauthentication, startInternal, stopInternal

    Methods inherited from class org.apache.catalina.valves.ValveBase

    backgroundProcess, getContainer, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setContainer, setNext, toString

    Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase

    destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister

    Methods inherited from class org.apache.catalina.util.LifecycleBase

    addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RedissonSingleSignOn

      public RedissonSingleSignOn()
  • Method Details

    • invoke

      public void invoke(org.apache.catalina.connector.Request request, org.apache.catalina.connector.Response response) throws IOException, jakarta.servlet.ServletException
      Specified by:
      invoke in interface org.apache.catalina.Valve
      Overrides:
      invoke in class org.apache.catalina.authenticator.SingleSignOn
      Throws:
      IOException
      jakarta.servlet.ServletException
    • sessionDestroyed

      public void sessionDestroyed(String ssoId, org.apache.catalina.Session session)
      Overrides:
      sessionDestroyed in class org.apache.catalina.authenticator.SingleSignOn
    • associate

      protected boolean associate(String ssoId, org.apache.catalina.Session session)
      Overrides:
      associate in class org.apache.catalina.authenticator.SingleSignOn
    • reauthenticate

      protected boolean reauthenticate(String ssoId, org.apache.catalina.Realm realm, org.apache.catalina.connector.Request request)
      Overrides:
      reauthenticate in class org.apache.catalina.authenticator.SingleSignOn
    • register

      protected void register(String ssoId, Principal principal, String authType, String username, String password)
      Overrides:
      register in class org.apache.catalina.authenticator.SingleSignOn
    • deregister

      protected void deregister(String ssoId)
      Overrides:
      deregister in class org.apache.catalina.authenticator.SingleSignOn
    • update

      protected boolean update(String ssoId, Principal principal, String authType, String username, String password)
      Overrides:
      update in class org.apache.catalina.authenticator.SingleSignOn
    • removeSession

      protected void removeSession(String ssoId, org.apache.catalina.Session session)
      Overrides:
      removeSession in class org.apache.catalina.authenticator.SingleSignOn