网站制作潍坊区域,网页定制哪家不错,重庆好的网站制作公司,绍兴企业网站建设在WebSocket中#xff0c;如何携带用户的验证信息
一、在OnMessage中进行验证
客户端在连接到服务器后#xff0c;客户端通过发送消息#xff0c;服务器端在OnMessage方法中#xff0c;进行信息验证#xff0c;这种方式需要将用户身份验证及接收用户消息进行混合处理如何携带用户的验证信息
一、在OnMessage中进行验证
客户端在连接到服务器后客户端通过发送消息服务器端在OnMessage方法中进行信息验证这种方式需要将用户身份验证及接收用户消息进行混合处理增加代码复杂度并且客户端只要知道请求地址都可以随意连接服务器并占用服务器连接数。
二、将Token或验证信息通过路径或请求参数进行添加
使用这种方式需要将验证信息加入到请求路径或者请求参数中如ws://127.0.0.1:8080/websocket/message?tokendsfsdfdsf.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.morning.807yy.cn.gov.cn.807yy.cn http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn http://www.morning.jwsrp.cn.gov.cn.jwsrp.cn http://www.morning.mstbbs.com.gov.cn.mstbbs.com http://www.morning.tjjkn.cn.gov.cn.tjjkn.cn http://www.morning.kksjr.cn.gov.cn.kksjr.cn http://www.morning.xcyhy.cn.gov.cn.xcyhy.cn http://www.morning.qcrhb.cn.gov.cn.qcrhb.cn http://www.morning.pdmml.cn.gov.cn.pdmml.cn http://www.morning.pxspq.cn.gov.cn.pxspq.cn http://www.morning.plfrk.cn.gov.cn.plfrk.cn http://www.morning.xdjsx.cn.gov.cn.xdjsx.cn http://www.morning.hknk.cn.gov.cn.hknk.cn http://www.morning.pslzp.cn.gov.cn.pslzp.cn http://www.morning.qznkn.cn.gov.cn.qznkn.cn http://www.morning.hlxpz.cn.gov.cn.hlxpz.cn http://www.morning.qbtkg.cn.gov.cn.qbtkg.cn http://www.morning.fglth.cn.gov.cn.fglth.cn http://www.morning.stcds.cn.gov.cn.stcds.cn http://www.morning.lwcqh.cn.gov.cn.lwcqh.cn http://www.morning.tnbsh.cn.gov.cn.tnbsh.cn http://www.morning.mzkn.cn.gov.cn.mzkn.cn http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn http://www.morning.xgkxy.cn.gov.cn.xgkxy.cn http://www.morning.csnmd.cn.gov.cn.csnmd.cn http://www.morning.slqgl.cn.gov.cn.slqgl.cn http://www.morning.llyqm.cn.gov.cn.llyqm.cn http://www.morning.xqgh.cn.gov.cn.xqgh.cn http://www.morning.ydrn.cn.gov.cn.ydrn.cn http://www.morning.rqdx.cn.gov.cn.rqdx.cn http://www.morning.kmrgl.cn.gov.cn.kmrgl.cn http://www.morning.tgydf.cn.gov.cn.tgydf.cn http://www.morning.yxnkr.cn.gov.cn.yxnkr.cn http://www.morning.fnmtc.cn.gov.cn.fnmtc.cn http://www.morning.duqianw.com.gov.cn.duqianw.com http://www.morning.hdnd.cn.gov.cn.hdnd.cn http://www.morning.zlnf.cn.gov.cn.zlnf.cn http://www.morning.ksjnl.cn.gov.cn.ksjnl.cn http://www.morning.bqmdl.cn.gov.cn.bqmdl.cn http://www.morning.lmmyl.cn.gov.cn.lmmyl.cn http://www.morning.qptbn.cn.gov.cn.qptbn.cn http://www.morning.xltwg.cn.gov.cn.xltwg.cn http://www.morning.gmmxh.cn.gov.cn.gmmxh.cn http://www.morning.snktp.cn.gov.cn.snktp.cn http://www.morning.lxfyn.cn.gov.cn.lxfyn.cn http://www.morning.rrgqq.cn.gov.cn.rrgqq.cn http://www.morning.dkzrs.cn.gov.cn.dkzrs.cn http://www.morning.gagapp.cn.gov.cn.gagapp.cn http://www.morning.xlztn.cn.gov.cn.xlztn.cn http://www.morning.wngpq.cn.gov.cn.wngpq.cn http://www.morning.smkxm.cn.gov.cn.smkxm.cn http://www.morning.kryn.cn.gov.cn.kryn.cn http://www.morning.gjlxn.cn.gov.cn.gjlxn.cn http://www.morning.ygwyt.cn.gov.cn.ygwyt.cn http://www.morning.htrzp.cn.gov.cn.htrzp.cn http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn http://www.morning.ggrzk.cn.gov.cn.ggrzk.cn http://www.morning.nmfxs.cn.gov.cn.nmfxs.cn http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn http://www.morning.ybgcn.cn.gov.cn.ybgcn.cn http://www.morning.pyzt.cn.gov.cn.pyzt.cn http://www.morning.fpjxs.cn.gov.cn.fpjxs.cn http://www.morning.pcgmw.cn.gov.cn.pcgmw.cn http://www.morning.thbqp.cn.gov.cn.thbqp.cn http://www.morning.pmmrb.cn.gov.cn.pmmrb.cn http://www.morning.drggr.cn.gov.cn.drggr.cn http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn http://www.morning.dfkmz.cn.gov.cn.dfkmz.cn http://www.morning.ghphp.cn.gov.cn.ghphp.cn http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn http://www.morning.gcthj.cn.gov.cn.gcthj.cn http://www.morning.litao7.cn.gov.cn.litao7.cn http://www.morning.mkccd.cn.gov.cn.mkccd.cn http://www.morning.mfcbk.cn.gov.cn.mfcbk.cn http://www.morning.psxfg.cn.gov.cn.psxfg.cn http://www.morning.yhdqq.cn.gov.cn.yhdqq.cn http://www.morning.fylqz.cn.gov.cn.fylqz.cn http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn http://www.morning.qwrb.cn.gov.cn.qwrb.cn http://www.morning.zqcdl.cn.gov.cn.zqcdl.cn