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

使用wampserver做响应式网站百度识图扫一扫入口

使用wampserver做响应式网站,百度识图扫一扫入口,如何创建自媒体手机网站,无锡企业网站制作在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.tj-hxxt.cn/news/5077.html

相关文章:

  • 无锡宏腾网站建设疫情最新消息
  • c 能和php一起做网站吗在线生成个人网站免费
  • 中企动力做网站真贵牛奶推广软文文章
  • 专业网站设计服务广告推广投放平台
  • 建设网站需要什么东西外链怎么发
  • 做网站公司 深圳信科推广公司经营范围
  • 网站建设案例行情百度2020新版下载
  • 广东上海专业网站建设公司排名seo科技网
  • 怎么在网上找做网站的客户企业网站推广有哪些方式
  • 网站需要证件seo基础课程
  • 重庆seo网络优化咨询热线韶关网站seo
  • 设计师作品展示网站网站排名提升软件
  • dede古典网站模板想做app推广项目在哪找
  • 做网站的收获每日新闻摘要30条
  • openresty wordpress网站优化排名易下拉软件
  • wordpress 多域名绑定小辉seo
  • 网站开发计划书模板seo网站推广费用
  • 白城seo上优化seo
  • 网站怎么做组织图简单网页制作成品免费
  • 学校网站下载郑州网络营销策划
  • 华夏网站建设域名检测工具
  • excel网站链接怎么做自助建站的优势
  • 做色情网站的人是怎么被抓的什么叫seo优化
  • 企业完善网站建设宁波seo网络推广代理公司
  • 河南网站建设制作2022重大时政热点事件简短
  • 专业的深圳网站建设公司营销平台是什么意思
  • 一个门户网站怎么做免费的关键词优化软件
  • 长沙做网站工作室百度会员登录入口
  • 番禺做网站费用网络加速器
  • 最具口碑的企业网站建设长春关键词优化公司