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

美剧网站怎么做西安网站推广慧创科技

美剧网站怎么做,西安网站推广慧创科技,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.sczhlp.com/news/23155/

相关文章:

  • 数据线东莞网站建设技术支持网站seo批量查询工具
  • 响应式网站建设精英什么是seo教程
  • 网站响应样式seo管理
  • 域名备案和icp备案区别优化大师哪个好
  • 用cms做网站的具体步骤找培训机构的网站
  • 网络搞钱路子网站seo优化技巧
  • 如何做旅游网站的供应商百度网盘app下载安装
  • 学做ppt的网站有哪些郑州seo技术培训班
  • 无锡建设局网站一体化监管平台百度指数批量查询
  • 手机做任务网站有哪些内容搜狗推广管家
  • 网站开发学什么好广告设计自学教程
  • 营销型网站开发网站维护需要多长时间
  • 网站服务器有问题怎么办啊目前小说网站排名
  • 成都好的网站设计公司seo的名词解释
  • 从零开始做电影网站互联网推广平台有哪些公司
  • 淄川政府网站建设公司河南网站排名优化
  • php网站语言切换功能如何做临汾网络推广
  • 网站建设一意见网络优化有前途吗
  • 深圳品牌网站设计格许昌网络推广外包
  • emlog建站教程锦绣大地seo官网
  • 家具网站后台模板日照网络推广公司
  • 网站建设费计入什么科目辅导机构
  • 网站分为哪些部分组成部分淘宝运营培训
  • 网页制作怎么插视频企业seo排名哪家好
  • 网站建设操作seo优化案例
  • 广州外贸营销型网站广告推广免费发布
  • 做破解软件网站赚广告费长岭网站优化公司
  • 有网址 有空间怎么做网站品牌营销策划方案案例
  • 微信做单网站有哪些企业网站建设制作
  • 广州网站设计服务大连百度seo