Сервер идентификации WSO2 — отключение пользователя не работает до перезапуска сервера

#wso2 #wso2-am #wso2is #wso2carbon

#wso2-api-менеджер #wso2 #wso2-идентификационный сервер #wso2-api-manager #wso2-identity-server

Вопрос:

Я использую сервер идентификации WSO2 версии 5.3.0. Я также использую WSO2 API Manager 2.1.0. Я создал 2 API, один из которых отключает пользователя, вызывая службу администратора, а также API для включения пользователя. Я также создал API для проверки статуса пользователя (отключен / включен), который проверяет, включен или отключен соответствующий пользователь после ввода имени пользователя.

Весь процесс работает нормально в течение нескольких раундов.

отключить пользователя -> проверить статус (пользователь отображается как отключенный) -> включить того же пользователя -> проверить статус (пользователь отображается как включенный)

Однако, если тот же пользователь отключен с удаленного компьютера, статус ошибочно отображается как включен, а также пользователь не отключается. Но после перезапуска сервера идентификации статус корректно отображается как отключенный, и пользователь также отображается как отключенный из предыдущего вызова API.

Имеет ли эта проблема какое-то отношение к кэшу на сервере идентификации?

Приветствуется любой предполагаемый подход к решению этой проблемы. Спасибо

Ответ №1:

Из вашего описания кажется, что у вас более одного узла сервера идентификации в вашем развертывании. Если это так, вам необходимо включить кластеризацию, чтобы синхронизировать кэши. В противном случае обновление кэша в узле 1 не будет отражено в узле 2 до истечения срока действия кэша (по умолчанию 15 минут) или перезапуска.

Включение кластеризации для US 5.3.0