2015-01-12 2 views
1

Я использую встроенный причал на стороне сервера, который будет принимать запросы HTTP и websocket. Я использую org.eclipse.jetty.security.authentication.FormAuthenticator для аутентификации пользователя. После того, как пользователь войдет в систему, мой код javascript откроет соединение с сервером. Я хочу знать, как сервер может аутентифицировать этот клиент websocket, чтобы не принимать соединения с веб-сайтами от неавторизованных клиентов (скажем, java-клиент).Как проверить подлинность клиента websocket в причале?

ответ

0

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

Это может помешать обновлению websocket даже при попытке выполнить попытку на стороне сервера, если пользователь не аутентифицирован и не настроен с авторизованной ролью для этого веб-узла.

Знайте, однако, что браузеры ведут себя по-разному в сценарии. Вероятно, вы не получите достойное сообщение об ошибке из объекта javascript WebSocket, если есть проблема аутентификации или авторизации. Он просто анонимно завершит работу с клиентской стороной только с закрытым кодом (например, 1006) и без какой-либо причины.

Смежные вопросы