В настоящее время мы используем CAS 5.3.9. У нас есть приложения, которые используют протокол CAS, а также протокол CAS REST. Для приложений, которые используют протокол CAS REST (особенно мобильное приложение), мы хотим проверить, выполнил ли пользователь вход в CAS sso. Если так, то мы хотим позволить пользователю аутентифицироваться. Мы используем реестр билетов memcached. Как мы можем проверить из memcached, если пользователь уже вошел в CAS или нет?
Я хочу создать веб-сервис, который будет действовать как прокси между CAS и приложениями, использующими протокол CAS REST. Этот веб-сервис проверит, вошел ли пользователь в CAS или нет. Для этого я могу подключиться к memcached и получить статистику о плитах и предметах в memcached. Оттуда я могу получить значение, используя элементы в качестве ключа, но оно зашифровано с использованием алгоритма хеширования FNV1_64_HASH и сериализации KRYO. Значение похоже на cookie для выдачи билетов. Используя протокол CAS Rest, я могу получить билет для предоставления билетов и сервисный билет для сервиса, проверить сервисный билет и получить ответ CAS для пользователя. Теперь я хочу проверить в memcached, вошел ли этот пользователь в CAS или нет.
Это моя memcached конфигурация для CAS
cas.ticket.registry.memcached.servers=mymemcached:11211
cas.ticket.registry.memcached.locatorType=CONSISTENT
cas.ticket.registry.memcached.failureMode=Redistribute
cas.ticket.registry.memcached.hashAlgorithm=FNV1_64_HASH
cas.ticket.registry.memcached.shouldOptimize=false
cas.ticket.registry.memcached.daemon=true
cas.ticket.registry.memcached.maxReconnectDelay=-1
cas.ticket.registry.memcached.useNagleAlgorithm=false
cas.ticket.registry.memcached.shutdownTimeoutSeconds=-1
cas.ticket.registry.memcached.opTimeout=-1
cas.ticket.registry.memcached.timeoutExceptionThreshold=2
cas.ticket.registry.memcached.maxTotal=20
cas.ticket.registry.memcached.maxIdle=8
cas.ticket.registry.memcached.minIdle=0
cas.ticket.registry.memcached.transcoder=KRYO
cas.ticket.registry.memcached.transcoderCompressionThreshold=16384
cas.ticket.registry.memcached.kryoAutoReset=false
cas.ticket.registry.memcached.kryoObjectsByReference=false
cas.ticket.registry.memcached.kryoRegistrationRequired=false
cas.ticket.registry.memcached.crypto.signing.key=mykey
cas.ticket.registry.memcached.crypto.signing.keySize=512
cas.ticket.registry.memcached.crypto.encryption.key=mykey
cas.ticket.registry.memcached.crypto.encryption.keySize=16
cas.ticket.registry.memcached.crypto.alg=AES
cas.ticket.registry.memcached.crypto.enabled=true
Я хочу знать, как на самом деле memcached хранит билеты, чтобы я мог проверить пользователей, есть ли уже билет для них или нет