关于ruoyi集成websocket后报错“WebSocket connection to ‘ws://localhost‘ failed:”

在若依框架中集成WebSocket后遇到连接失败的问题,分析原因可能是由于项目的严格鉴权设置导致。通过注释掉或调整`anyRequest().authenticated()`配置,或明确添加WebSocket路径到鉴权规则,可以解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

在若依项目中需要做一个在线沟通的聊天功能,所以在若依的脚手架中集成了websocket。


问题描述

在若依中集成websocket后进行通信,但是在开启websocket的时候会报错“WebSocket connection to 'ws://localhost' failed:”。找了很多解决方法都无法解决,包括:修改vue.config.js中的配置,修改跨域的配置问题。

let socketUrl = "ws://localhost:8080/imserver/" + username;
if (socket != null) {
    socket.close();
    socket = null;
}
// 开启一个websocket服务
socket = new WebSocket(socketUrl);

原因分析:

使用若依的基本都会对他的源码有所了解,若依对访问后端接口的限制是很多的,除了一些特殊访问,所有请求都需要鉴权访问,如下代码摘自若依前后端分离“ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java”

   /**
     * anyRequest          |   匹配所有请求路径
     * access              |   SpringEl表达式结果为true时
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值