Class RedisTicketRegistry

java.lang.Object
org.apereo.cas.ticket.registry.AbstractTicketRegistry
org.apereo.cas.ticket.registry.RedisTicketRegistry
All Implemented Interfaces:
org.apereo.cas.ticket.registry.TicketRegistry, org.apereo.cas.util.thread.Cleanable

@Monitorable public class RedisTicketRegistry extends org.apereo.cas.ticket.registry.AbstractTicketRegistry implements org.apereo.cas.util.thread.Cleanable
Key-value ticket registry implementation that stores tickets in redis.
Since:
5.1.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Field Summary

    Fields inherited from interface org.apereo.cas.ticket.registry.TicketRegistry

    BEAN_NAME
  • Constructor Summary

    Constructors
    Constructor
    Description
    RedisTicketRegistry(org.apereo.cas.util.crypto.CipherExecutor cipherExecutor, org.apereo.cas.ticket.serialization.TicketSerializationManager ticketSerializationManager, org.apereo.cas.ticket.TicketCatalog ticketCatalog, RedisTicketRegistry.CasRedisTemplates casRedisTemplates, org.springframework.beans.factory.ObjectProvider<com.github.benmanes.caffeine.cache.Cache<String,org.apereo.cas.ticket.Ticket>> ticketCache, org.springframework.beans.factory.ObjectProvider<RedisTicketRegistryMessagePublisher> messagePublisher, Optional<com.redis.lettucemod.api.sync.RedisModulesCommands> redisModuleCommands, RedisKeyGeneratorFactory redisKeyGeneratorFactory, org.apereo.cas.configuration.CasConfigurationProperties casProperties)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apereo.cas.ticket.Ticket
    addSingleTicket(org.apereo.cas.ticket.Ticket ticket)
     
    List<? extends org.apereo.cas.ticket.Ticket>
    addTicket(Stream<? extends org.apereo.cas.ticket.Ticket> toSave)
     
    void
     
    long
    countSessionsFor(String principalId)
     
    long
     
    long
    countTicketsFor(org.apereo.cas.authentication.principal.Service service)
     
    long
     
    long
    deleteSingleTicket(org.apereo.cas.ticket.Ticket ticket)
     
    Stream<? extends org.apereo.cas.ticket.Ticket>
    getSessionsFor(String principalId)
     
    Stream<? extends org.apereo.cas.ticket.Ticket>
     
    org.apereo.cas.ticket.Ticket
    getTicket(String ticketId, Predicate<org.apereo.cas.ticket.Ticket> predicate)
     
    Collection<? extends org.apereo.cas.ticket.Ticket>
     
    List<? extends Serializable>
    query(org.apereo.cas.ticket.registry.TicketRegistryQueryCriteria queryCriteria)
     
    long
     
    long
     
    Stream<? extends org.apereo.cas.ticket.Ticket>
    stream(org.apereo.cas.ticket.registry.TicketRegistryStreamCriteria criteria)
     
    org.apereo.cas.ticket.Ticket
    updateTicket(org.apereo.cas.ticket.Ticket ticket)
     

    Methods inherited from class org.apereo.cas.ticket.registry.AbstractTicketRegistry

    addTicket, deleteTicket, deleteTicket, digestIdentifier, getTicket, getTicket, setCipherExecutor

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apereo.cas.ticket.registry.TicketRegistry

    getTickets, stream
  • Constructor Details

    • RedisTicketRegistry

      public RedisTicketRegistry(org.apereo.cas.util.crypto.CipherExecutor cipherExecutor, org.apereo.cas.ticket.serialization.TicketSerializationManager ticketSerializationManager, org.apereo.cas.ticket.TicketCatalog ticketCatalog, RedisTicketRegistry.CasRedisTemplates casRedisTemplates, org.springframework.beans.factory.ObjectProvider<com.github.benmanes.caffeine.cache.Cache<String,org.apereo.cas.ticket.Ticket>> ticketCache, org.springframework.beans.factory.ObjectProvider<RedisTicketRegistryMessagePublisher> messagePublisher, Optional<com.redis.lettucemod.api.sync.RedisModulesCommands> redisModuleCommands, RedisKeyGeneratorFactory redisKeyGeneratorFactory, org.apereo.cas.configuration.CasConfigurationProperties casProperties)
  • Method Details

    • deleteAll

      public long deleteAll()
      Specified by:
      deleteAll in interface org.apereo.cas.ticket.registry.TicketRegistry
    • deleteSingleTicket

      public long deleteSingleTicket(org.apereo.cas.ticket.Ticket ticket)
    • addTicket

      public List<? extends org.apereo.cas.ticket.Ticket> addTicket(Stream<? extends org.apereo.cas.ticket.Ticket> toSave)
      Specified by:
      addTicket in interface org.apereo.cas.ticket.registry.TicketRegistry
    • addSingleTicket

      public org.apereo.cas.ticket.Ticket addSingleTicket(org.apereo.cas.ticket.Ticket ticket)
    • updateTicket

      public org.apereo.cas.ticket.Ticket updateTicket(org.apereo.cas.ticket.Ticket ticket)
      Specified by:
      updateTicket in interface org.apereo.cas.ticket.registry.TicketRegistry
    • getTicket

      public org.apereo.cas.ticket.Ticket getTicket(String ticketId, Predicate<org.apereo.cas.ticket.Ticket> predicate)
      Specified by:
      getTicket in interface org.apereo.cas.ticket.registry.TicketRegistry
    • getTickets

      public Collection<? extends org.apereo.cas.ticket.Ticket> getTickets()
      Specified by:
      getTickets in interface org.apereo.cas.ticket.registry.TicketRegistry
    • stream

      public Stream<? extends org.apereo.cas.ticket.Ticket> stream(org.apereo.cas.ticket.registry.TicketRegistryStreamCriteria criteria)
      Specified by:
      stream in interface org.apereo.cas.ticket.registry.TicketRegistry
    • getSessionsFor

      public Stream<? extends org.apereo.cas.ticket.Ticket> getSessionsFor(String principalId)
      Specified by:
      getSessionsFor in interface org.apereo.cas.ticket.registry.TicketRegistry
    • countSessionsFor

      public long countSessionsFor(String principalId)
      Specified by:
      countSessionsFor in interface org.apereo.cas.ticket.registry.TicketRegistry
      Overrides:
      countSessionsFor in class org.apereo.cas.ticket.registry.AbstractTicketRegistry
    • sessionCount

      public long sessionCount()
      Specified by:
      sessionCount in interface org.apereo.cas.ticket.registry.TicketRegistry
      Overrides:
      sessionCount in class org.apereo.cas.ticket.registry.AbstractTicketRegistry
    • serviceTicketCount

      public long serviceTicketCount()
      Specified by:
      serviceTicketCount in interface org.apereo.cas.ticket.registry.TicketRegistry
      Overrides:
      serviceTicketCount in class org.apereo.cas.ticket.registry.AbstractTicketRegistry
    • getSessionsWithAttributes

      public Stream<? extends org.apereo.cas.ticket.Ticket> getSessionsWithAttributes(Map<String,List<Object>> queryAttributes)
      Specified by:
      getSessionsWithAttributes in interface org.apereo.cas.ticket.registry.TicketRegistry
      Overrides:
      getSessionsWithAttributes in class org.apereo.cas.ticket.registry.AbstractTicketRegistry
    • countTicketsFor

      public long countTicketsFor(org.apereo.cas.authentication.principal.Service service)
      Specified by:
      countTicketsFor in interface org.apereo.cas.ticket.registry.TicketRegistry
      Overrides:
      countTicketsFor in class org.apereo.cas.ticket.registry.AbstractTicketRegistry
    • countTickets

      public long countTickets()
      Specified by:
      countTickets in interface org.apereo.cas.ticket.registry.TicketRegistry
    • query

      public List<? extends Serializable> query(org.apereo.cas.ticket.registry.TicketRegistryQueryCriteria queryCriteria)
      Specified by:
      query in interface org.apereo.cas.ticket.registry.TicketRegistry
    • clean

      public void clean()
      Specified by:
      clean in interface org.apereo.cas.util.thread.Cleanable