WebSocket终结点使用web容器安全模式进行安全管理,目的是方便websocket开发者声明是否需要访问websocket服务器终结点进行认证,以及哪些人能访问它,是否需要加密连接。websocket在部署中使用ws://URI(第三章,第四章所述)保护模式进行映射,但使用http://URI相同的主机名称,端口号和路径进行访问,因为这是开放式握手的URL。因此,websocket开发人员可能分配一个身份验证方案,用户角色授权访问和传输保证到达websocket端点。

8.1 WebSocket身份认证

本规范没有定义websocket本身可以验证机制,而是在servlet上建立安全机制,定义websocket必须通过开放式握手请求通过身份验证,旨在发起一个连接之前验证。通常这由web应用中的包含websocket的在开放式握手websocket之前的Http身份认证(也许是基本的或基于表单的)完成的。

如果客户端发送一个没有经过身份认证的开放式握手请求到受安全机制保护的websocket中,websocket实现会返回401(认证失败)到开放式握手请求,不再初始化websocket连接。

8.2 WebSocket授权

websocket授权可以通过web应用程序下的web.xml中添加元素来实现。配置好子元素规则后,websocket握手请求的URI必须匹配配置的URL格式。

8.3 传输保证

没有保证的传输必须要通过容器解释才能到达websocket,如未加密的ws:///连接。加密的传输保证必须通过实现解释,只允许加密的连接(wss://)访问websocket,但这有时需要预认证的请求。

8.4 示例

下面的实例代码是从一个大的web.xml部署文件中截取的一部分,里面包含websocket终结点安全规则的配置。本例中,所有的请求URI格式必须匹配“quotes/live”格式,而且只能通过wss://安全模式访问,这样只有属于黄金会员或者白金会员角色的授权用户才能访问。

LiveQuoteWebSocket

Security constraint for live quote websocket endpoint

/quotes/live

GET

definition of which roles may access the quote endpoint

GOLD_MEMBER

PLATINUM_MEMBER

WSS required

CONFIDENTIAL

websocket java8_Java API For WebSocket(八)服务器安全相关推荐

  1. Java EE 7中的WebSocket客户端API

    在本文中,让我们探索谈论较少的Web Socket Client API,以及如何在Java EE 7容器本身中利用它. Web套接字服务器API规则 JSR 356的服务器端API(Java的Web ...

  2. WebSocket协议入门:WebSocket API

    HTML5连接性领域包括WebSocket.服务器发送事件和跨文档消息传递(Cross-Document Messaging)等技术.在HTML5之前,浏览器窗口和框架之间的通信由于安全的原因而受到限 ...

  3. 未能分析从服务器收到的消息,WebSocket Javascript客户端未收到来自服务器的消息...

    我已经在本地GlassFish 4.1服务器上部署了Java Web应用程序,该服务器实现了与Web客户端互操作的WebSockets.我能够通过套接字成功执行客户端到服务器的通信,但由于某种原因,服 ...

  4. Websocket(二)-客户端与服务器通信

    Websocket(二)-客户端与服务器通信 服务端 客户端测试 const WebSocket = require('ws'); const Server = WebSocket.Server; c ...

  5. websocket——Firefox 无法建立到 ws://... 服务器的连接

    页面访问java websocket服务时,出现异常,Firefox下的异常是:Firefox 无法建立到 ws://... 服务器的连接: IE下的异常是:WebSocket Error: Inco ...

  6. websocket python unity_Unity 连接WebSocket(ws://)服务器

    Unity 连接ws,不用任何插件,忙活了一天终于搞定了,一直连接不上,原来是没有添加header, 代码比较简单,直接贴出来普度众生 using System; using System.Net.W ...

  7. 认识HTML5的WebSocket 认识HTML5的WebSocket

    2019独角兽企业重金招聘Python工程师标准>>> 在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API.WebSocket提供了一个受欢迎的技 ...

  8. websocket 安全_将Websocket与Spring Framework和Vuejs结合使用

    websocket 安全 Websocket是客户端和服务器之间的全双工(持久)连接,因此两者可以彼此共享信息,而无需重复建立新的连接. 这消除了从客户端重复轮询以从服务器获取更新的需要. 并非所有浏 ...

  9. websocket之二:WebSocket编程入门

    一.WebSocket客户端 websocket允许通过JavaScript建立与远程服务器的连接,从而实现客户端与服务器间双向的通信.在websocket中有两个方法: 1.send() 向远程服务 ...

最新文章

  1. fastlane自动打包--详细介绍
  2. python实现双向最大匹配法
  3. 技术讨论 | 一次尚未完成的薅羊毛行动
  4. M2 Spec: an update of M1 Spec
  5. php如何解决报错,php 启动报错如何解决_PHP教程
  6. Taskonomy: Disentangling Task Transfer Learning
  7. 头的各个部位示意图_人体头部结构图解剖图 人体头部结构及功能
  8. 使用Unity创建一个游戏场景
  9. 腾讯2019年理财通用户突破两亿;浪潮云估值突破100亿元 | 美通企业日报
  10. 蓝桥杯 算法训练 跳马
  11. 000webhost – 1500M支持PHP可绑米免费虚拟主机
  12. 三星电视机dns服务器维护,4招解救三星智能电视看视频卡顿问题
  13. 士兵 POJ1723
  14. 华为首款台式机计算机发布,华为首款商用台式机发布,或再成商用PC市场破局者...
  15. NNDL 实验七 循环神经网络(1)RNN记忆能力实验
  16. Zeppelin的使用
  17. 分析:很多小程序微商城系统为什么敢永久免费使用
  18. linux解压gz.gz文件,linux解压tar.gz并重命名_linux解压tar.gz文件
  19. 我是如何学习Java的~标志寄存器及其应用
  20. Go语言自学系列 | golang标准库os模块 - File文件读操作

热门文章

  1. 云图说|威胁检测服务赐您“火眼金睛” ,让潜在威胁无处遁行
  2. 新增5大运维特性!华为云DAS服务高效运维有妙招
  3. 【华为云技术分享】python教程:猴子补丁
  4. 硬核评测:企业上云的极速存储挑战,华为云全新极速IO云硬盘性能评测
  5. 野生前端的数据结构练习(9)冒泡排序,选择排序,插入排序
  6. kociemba算法c语言,Python kociemba包_程序模块 - PyPI - Python中文网
  7. 查询没有走索引_MySQL 如何正确的使用索引
  8. MyBatis的CURD
  9. Android doc |Getting Started|部分 部分译文 --Building Your First App
  10. MATLAB中如何删除坐标上已画出的内容