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

自己开发微网站做h5的网站

自己开发微网站,做h5的网站,wordpress子主题怎么用,佛山网站建设3lue在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.yayakq.cn/news/711248/

相关文章:

  • 建外贸网站 东莞百科创建
  • iis7 添加网站营销号经典废话
  • .net 网站 调试网站开发汇报
  • 石家庄建站费用网站兼容所有浏览器
  • 抖音代运营话术湘潭seo 上词多湘潭磐石网络
  • ppt模板资源网站北京软件公司招聘信息最新
  • 彩票网站搭建南昌seo网站
  • 广州网站优化平台ios开发还有前景吗
  • 网站设计 html5做微商网站公司
  • 在哪个网站做推广好芜湖营销网站建设
  • 广告网站建设与制作公司伊宁市做网站
  • 做网站的工资高jsp网站购买空间
  • 做外贸网站 用国外空间 还是 国内空间 区别安徽富通建设集团有限公司网站
  • 建设网站平台的用语网站建设及运维合同
  • 做中英文游戏门户网站关键词怎么弄为什么亿唐网不做网站做品牌
  • 电子商务网站建设的简要任务执行书wordpress 内存优化
  • 做国外的众筹网站有哪些大都会app最新版本下载
  • 摄影网站定位佛山百度seo代理
  • 贵州建设水利厅考试网站网站的建设需要数据库
  • 网站建设公司哪家开发手机网站
  • 制作手机网站什么软件电商网站设计系统
  • 像那种代刷网站怎么做wordpress不跳转
  • 网站后台功能需求合肥做网站域名的公司
  • 跨平台 移动网站开发彩票网站开发注意事情
  • 免费建站系统wordpress中国服务外包
  • 安徽康东建设工程有限公司网站邯郸做外卖网站的公司
  • 东莞网站开发定制佛山网站建设推荐
  • 宁波建设监理协会酒泉网站seo
  • 前端静态网站模板摄影网站制作软件
  • 做影视会员网站青海省住房和城乡建设厅的官方网站