【问题标题】:How to authenticate websocket client in jetty?如何在码头验证 websocket 客户端?
【发布时间】:2015-01-12 08:36:43
【问题描述】:

我在服务器端使用嵌入式码头,它将接受 http 和 websocket 请求。我正在使用 org.eclipse.jetty.security.authentication.FormAuthenticator 来验证用户。用户登录后,我的 javascript 代码将打开与服务器的 websocket 连接。我想知道服务器如何验证这个 websocket 客户端,以避免接受来自未经授权的客户端(比如 java 客户端)的 websocket 连接。

【问题讨论】:

    标签: authentication websocket jetty client


    【解决方案1】:

    假设您已正确设置嵌入式码头,它将使用与普通 webapp 相同的安全约束系统来验证分配给该 websocket 的 url 模式的用户角色。

    如果用户未通过身份验证并设置为该 websocket 的授权角色,这将阻止 websocket 升级甚至发生(在服务器端尝试)。

    但是要知道,浏览器在场景中的行为非常不同。如果存在身份验证或授权问题,您可能不会从 javascript WebSocket 对象中得到一个像样的错误消息。它只会匿名失败,客户端仅关闭代码(例如 1006)并且没有关闭原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-26
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      相关资源
      最近更新 更多