Как отправить сообщение о выходе из Java REST servlet клиенту angular?

#java #angular #rest #websocket

#java #angular #rest #websocket

Вопрос:

У меня есть некоторые сомнения по поводу того, как отправить сообщение с сервера Java Rest клиенту Angular. Я читал о WebSockets, но я не уверен, подходит ли это тому, что я ищу.

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

Является ли WebSocket лучшим способом сделать это?

Заранее спасибо.

Ответ №1:

Вот что я бы сделал. Когда пользователь выходит из системы, что на самом деле также может произойти по истечении срока действия сеанса, ничего не произойдет, пока пользователь не выполнит действие. Для этого действия может потребоваться внутренний вызов, который затем может вернуть HTML-код 401.

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