当前位置: 首页 > news >正文

使用wampserver做响应式网站上海网站建设公司

使用wampserver做响应式网站,上海网站建设公司,手机如何创建个人网站,wordpress后台登录界面在WebSocket中,如何携带用户的验证信息 一、在OnMessage中进行验证 客户端在连接到服务器后,客户端通过发送消息,服务器端在OnMessage方法中,进行信息验证,这种方式需要将用户身份验证及接收用户消息进行混合处理&am…

在WebSocket中,如何携带用户的验证信息

一、在OnMessage中进行验证

客户端在连接到服务器后,客户端通过发送消息,服务器端在OnMessage方法中,进行信息验证,这种方式需要将用户身份验证及接收用户消息进行混合处理,增加代码复杂度;并且,客户端只要知道请求地址,都可以随意连接服务器,并占用服务器连接数。

二、将Token或验证信息通过路径或请求参数进行添加

使用这种方式,需要将验证信息加入到请求路径或者请求参数中,如:ws://127.0.0.1:8080/websocket/message?token=dsfsdfdsf.sdfasdfsdflkj,安全性较差,需要对验证信息进行加密处理

三、通过Header中的Sec-WebSocket-Protocol进行传输

使用该种方式,需要注意,在响应服务器请求时,需要将该参数原封不动的返回给客户端,否则将报错

若依框架集成WebSocket

1、下载代码并添加到若依的framework包中

2、在启动类中添加@EnableWebSocket

3、修改TokenService.java中的getToken方法,添加获取websocket Header方法

private String getToken(HttpServletRequest request){String token = request.getHeader(header);if(StringUtils.isBlank(token)) {token = request.getHeader("Sec-Websocket-Protocol");}if (StringUtils.isNotEmpty(token) && token.startsWith(Constants.TOKEN_PREFIX)){token = token.replace(Constants.TOKEN_PREFIX, "");}return token;}

4、修改JwtAuthenticationTokenFilter.java的doFilterInternal方法,为Response添加从Request中获取的Sec-Websocket-Protocol;当然,也可以为该功能添加一个专门的Filter。

如果没有在Response中添加Sec-Websocket-Protocol信息,将在客户端请求连接时报错,导致无法建立连接

    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)throws ServletException, IOException{LoginUser loginUser = tokenService.getLoginUser(request);if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication())){tokenService.verifyToken(loginUser);UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities());authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));SecurityContextHolder.getContext().setAuthentication(authenticationToken);}String token = request.getHeader("Sec-Websocket-Protocol");if (StringUtils.isNotNull(token)) {response.addHeader("Sec-Websocket-Protocol", token);}chain.doFilter(request, response);}

5、前端WebSocket客户端添加用户验证信息

ws = new WebSocket(url, [token]);

6、打开测试页面,并修改请求地址,点击连接,连接到websocket服务

已连接到 ws://127.0.0.1:8080/websocket/message

连接成功

http://www.fp688.cn/news/164333.html

相关文章:

  • 物流商 网站建设方案seo综合查询站长工具
  • 多少钱一盒苏州seo优化
  • 昆明制作网站清远今日头条新闻
  • 威海建设集团官方网站冯耀宗seo教程
  • 如何做网站限制seo需要掌握哪些技术
  • 哪个公司做网站比较好灰色关键词快速排名
  • wordpress 模板开发公司网络优化方案
  • 阜阳网站建设哪家好网络营销知识点
  • 郑州网站建设郑州网站建设百度爱采购优化
  • 深圳制作网站开发费用中国营销网站
  • 做网站建设哪家便宜企业seo排名外包
  • 发表文章的平台有哪些成都黑帽seo
  • 编写微信小程序用什么软件seo应该如何做
  • 营销的网站企业文化的重要性和意义
  • 学校网站建客服网站搭建
  • 怎么做外贸网站的邮箱签名网站模板中心
  • 怎么做游戏推广网站营销推广软件有哪些
  • wordpress菜单的意思整站seo优化
  • 招网站开发人员注册域名要钱吗
  • 施工企业资质序列哈尔滨seo公司
  • 北碚网站建设哪家好运营培训班有用吗
  • 长沙网站建设优化什么是搜索引擎优化的核心
  • 淄博网站制作价格低站长工具seo下载
  • delphi网站开发网页优化包括
  • 网软志成学校网站管理系统官方商业正式版百度竞价排名规则及费用
  • 营销型网站设计思路seo服务商
  • 包头网站建设 奥北下载百度导航最新版本
  • 网站上的qq咨询怎么做今日新闻头条官网
  • 网站前置审批文件北京网站优化专家
  • 网站建设需要的费用手机百度2020最新版