Кэширование атрибутов Apereo CAS - PullRequest
0 голосов
/ 23 мая 2018

По умолчанию CAS запрашивает атрибуты только при входе в систему и кэширует их в течение всего сеанса единого входа.Я использую конечную точку OAuth 2.0 (/oauth2.0/profile), чтобы получить атрибуты для текущего пользователя.Атрибуты хранятся в базе данных и извлекаются с использованием JDBC (CAS настраивается с помощью свойств, подобных cas.authn.attributeRepository.jdbc [0] .xyz).

Можно ли отключить кэширование?Я хотел бы запрашивать их каждый раз, когда кто-то обращается к конечной точке /oauth2.0/profile.


CAS Версия 5.2.0

1 Ответ

0 голосов
/ 23 мая 2018

Ссылка: https://apereo.github.io/cas/5.2.x/integration/Attribute-Release-Caching.html

По умолчанию разрешенные атрибуты кэшируются по продолжительности сеанса единого входа.Если после начала сеанса единого входа происходят какие-либо изменения значений атрибутов, эти изменения не отражаются и возвращаются в службу после выпуска.

Отношение между принципалом CAS и источником исходного хранилища атрибутов, которое описываеткак и на какой длине должны кэшироваться атрибуты принципала CAS, контролируется хранилищами атрибутов.По истечении времени выпуска атрибута к этому компоненту обращаются, чтобы гарантировать, что соответствующие значения атрибута выпущены службе с областью действия согласно политике истечения срока действия кэша.Если политика истечения срока действия прошла, исходный источник хранилища атрибутов будет проверен, чтобы выяснить доступный набор атрибутов.

Этот компонент также способен разрешать конфликты между существующими основными атрибутами и теми, которые получены из хранилища.источник через свойство mergingStrategy.Это полезно, если вы хотите сохранить коллекцию атрибутов, которые уже доступны субъекту, которые были извлечены из другого места во время события аутентификации и т. Д.

Кроме того, глобальные политики кэширования можно контролировать с помощью:

# cas.authn.attributeRepository.expireInMinutes=30
# cas.authn.attributeRepository.maximumCacheSize=10000
# cas.authn.attributeRepository.merger=REPLACE|ADD|MERGE

Ссылка: https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties.html#authentication-attributes

Приведенные выше примечания описывают общие стратегии кэширования для атрибутов.Не уверен, что они одинаково влияют на профиль OAuth, но это хорошее начало.

...