WebSocketServer 里面存的userId 都是为null 空值!
版本:renren-security 2.6.0 |
开发环境: |
用户登录的时候断WebSocketConfig里面的modifyHandshake方法,里面SecurityUser.getUserId();返回的就是空值。
我试过通知发送全部可以发送是因为没有判断用户ID 直接for循环了 WebSocketServer里面的所有socket并发送,如果指定某个人或者某个用户的情况下
就会去判断userId是否等于 socket里面存的userId 如果相等才发送,这时候问题就出现了,里面全是空的userId 一个都不能发送。
img[//cdn.renren.io/c57dc202011271748539853.png] img[//cdn.renren.io/5b037202011271748589261.png] img[//cdn.renren.io/ec939202011271749031612.png]
-
2020-11-27
main-navbar.vue 这个文件,用最新版的替换一下
-
2020-11-27
@Mark 我试试 不过最新的你们改成了Shiro 我这个版本还是用的SpringSecurity 这个没冲突吧
-
2020-11-27
@ws 有点区别,就是ws链接,把 token带上
-
2020-11-27
@Mark 带上了还是空值
-
2020-11-28
@ws
[pre]
main-navbar.vue
socket = new WebSocket(`${window.SITE_CONFIG['socketURL']}?access_token=${Cookies.get('access_token')}`)
ResourceServerConfig.java
.antMatchers("/sys/**", "/act/**", "/demo/**", "/websocket")
[/pre]
修改这2个文件