Java API For WebSocket(七)Java EE环境

简介:

  7.1 J2EE环境


    websocket应用运行在Java EE平台时,需要一些额外的配置


    7.1.1 WebSocket 端点(Endpoints)和依赖注入


    WebSocket端点运行在Java EE平台时必须有完整的依赖注入支持,正如CDI规范所述,WebSocket实现了Java EE平台的部分功能,需要使用javax.inject支持属性,方法,构造函数注入。通过注解注入到所有的websocket端点以及使用这些类的拦截器中。这个需求的细节在Java EE平台规范的5.2.5节,实现该需求的部分在5.24节。


    7.2 Http Session与认证状态(Authenticated State)之间的关系


    为了在每个客户端的web资源(如JSPs,JSFs,Servlets)和服务客户端的websocket终结点共享信息,开发者通常会嵌入websocket服务器终结点到大型web应用中。因为websocket连接是使用http request请求进行初始化的,初始化过程中正在在操作的客户端下的HttpSession和任意的websockets建立的关系就是HttpSession。API允许访问正在进行的握手到唯一的HttpSession对应的同一个客户端。


    类似的,如果开放的握手请求已经通过了服务器认证,开放的握手请求API允许开发者查询请求的用户Principal,如果连接是通过请求的客户端建立的,那么websocket实现会将关联websocket会话的用户Principal看做是开放式握手的用户Principal。


    当websocket终节点是web应用中的保护资源时,也就是说,只有授权用户才能访问,然后websocket实现必须确保当底层实现决定已验证身份不再有效时,websocket终结点不再保持连接它的同行。但并不是绝对的,比如当用户退出web应用时或者认证超时或者其它原因导致的验证失败等。在这种情况下,websocket实现必须使用websocket关闭状态码1008立即关闭连接。


    另一方面,如果websocket终结点在web应用中不是受保护的资源时,开放的握手连接可能是无效的或者改变不需要websocket实现下的操作时,用户身份需要关闭连接。






本文转自 genuinecx 51CTO博客,原文链接:http://blog.51cto.com/favccxx/1602372,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
4月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
312 100
|
4月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
333 101
|
4月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
276 101
|
5月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
396 188
|
4月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
263 2
|
4月前
|
安全 Java API
Java SE 与 Java EE 区别解析及应用场景对比
在Java编程世界中,Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)是两个重要的平台版本,它们各自有着独特的定位和应用场景。理解它们之间的差异,对于开发者选择合适的技术栈进行项目开发至关重要。
624 1
|
4月前
|
存储 数据可视化 Java
Java Stream API 的强大功能
Java Stream API 是 Java 8 引入的重要特性,它改变了集合数据的处理方式。通过声明式语法,开发者可以更简洁地进行过滤、映射、聚合等操作。Stream API 支持惰性求值和并行处理,提升了代码效率和可读性,是现代 Java 开发不可或缺的工具。
112 0
Java Stream API 的强大功能
|
4月前
|
安全 API 数据安全/隐私保护
【Azure 环境】Microsoft Graph API实现对Entra ID中应用生成密码的时间天数
本文介绍如何通过 Azure 的 App Management Policy 限制用户在创建 AAD 应用程序的 Client Secret 时设置最长 90 天的有效期。通过 Microsoft Graph API 配置 defaultAppManagementPolicy,可有效控制密码凭据的生命周期,增强安全管理。
156 4