javascript – 使用sockjs和stomp在/ info请求期间没有cookie
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 使用sockjs和stomp在/ info请求期间没有cookie,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1499字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 使用sockjs和stomp在/ info请求期间没有cookie](/upload/InfoBanner/zyjiaocheng/779/c4cdf27311524d8aaf723f4661734238.jpg)
我正在尝试使用带有websockets的Spring Security.作为一个例子,我正在使用spring-websocket-chat(https://github.com/salmar/spring-websocket-chat) – 演讲应用程序从谈话“Deep dive into websockets”.在该应用程序中,CookieHttpSessionStrategy用于存储会话ID,在身份验证期间存储cookie正在使用/ info请求发送.以下是演示通过sockjs连接服务器的代码(此请求发送cookie)https://github.com/salmar/spring-websocket-chat/blob/master/src/main/webapp/js/services.js.我编写了自己的客户端,使用sockjs和stomp但是在/ info请求期间没有cookie发送.这是我的代码
$connectButton.click(function () {
var serverHost = $host.val();
console.log("sockjs created");
stomp = Stomp.over(new SockJS(serverHost));
console.log("stomp over");
stomp.connect({},
function () {
console.log("connected");
},
function () {
console.log("error");
})
console.log("pressed");
});
解决方法:
据我所知,你无法将cookie传递给SockJS(特别是使用同源策略).但是,使用最新的SockJS 1.0.3,您可以将查询参数作为连接URL的一部分传递.因此,您可以发送一些JWT令牌来授权会话.
var socket = new SockJS('http://localhost/ws?token=AAA');
var stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
stompClient.subscribe('/topic/echo', function(data) {
// topic handler
});
}
}, function(err) {
// connection error
});
现在所有与w??ebsocket相关的请求都有参数“?token = AAA”
http://localhost/ws/info?token=AAA&t=1446482506843
http://localhost/ws/515/z45wjz24/websocket?token=AAA
然后使用Spring,您可以设置一些过滤器,该过滤器将使用提供的令牌识别会话.
当UI和服务器的源相同时,PS cookie会自动被选中.
内容总结
以上是互联网集市为您收集整理的javascript – 使用sockjs和stomp在/ info请求期间没有cookie全部内容,希望文章能够帮你解决javascript – 使用sockjs和stomp在/ info请求期间没有cookie所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。