授权来自 HttpSession 的 javaee websocket 请求

Posted

技术标签:

【中文标题】授权来自 HttpSession 的 javaee websocket 请求【英文标题】:Authorizing javaee websocket request from HttpSession 【发布时间】:2014-10-24 20:28:44 【问题描述】:

我将javaee-websockets 用于与大型servlet 3.0 应用程序集成的小型聊天应用程序。我只希望授权用户访问聊天应用程序,授权是通过 servlet 完成的,授权密钥添加到 HttpSession 中。

从here 我开始在websocket serverendpoint 的配置类中使用HttpSession,但我无法从这里阻止未经授权的用户握手?

【问题讨论】:

【参考方案1】:

您不需要阻止握手过程。

如果您在 web.xml 中为 WebSocket 端点(由 URI 路径表示)定义授权/身份验证,则 Servlet 实现甚至不会为未经授权的用户/请求启动握手过程。

【讨论】:

我正在使用会话变量进行身份验证,除了定义过滤器之外,我如何在 web.xml 中定义此授权? 您很可能需要使用过滤器,因为您有一些自定义声明。您可以考虑使用标准的 Java EE 东西 - Basic/Digest/Cert/Form auth scheme 和 container defined roles/credential store..

以上是关于授权来自 HttpSession 的 javaee websocket 请求的主要内容,如果未能解决你的问题,请参考以下文章

JavaEE企业应用实战学习记录sessionListener

理解session

服务端会话技术--Session

SSH 项目中 使用websocket 实现网页聊天功能

Java EE 身份验证和授权 [关闭]

Java EE 身份验证和授权 [关闭]