首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java 7中保护Websocket服务器

如何在Java 7中保护Websocket服务器
EN

Stack Overflow用户
提问于 2013-12-10 23:25:54
回答 1查看 2.7K关注 0票数 3

我想使用web套接字创建一个简单的CRUD应用程序,它带有一个Java 7 Websocket服务器,运行在Glassfish 4上,与一个单一页面的网站进行通信。我的问题是:如何确保我的应用程序安全?换句话说:我如何执行用户身份验证和授权?因为我希望服务器只在请求用户的身份验证和授权之后才回复一些消息。最后但并非最不重要的是:我如何提供一个“记住我”的功能?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-11 17:25:16

一种实用的方法是用户通过您的网页登录,在成功的身份验证后从您的Web应用程序中设置cookie,并在来自该页面的传入WebSocket连接上检查您的WebSocket服务器中的cookie。

这将要求网页和WebSocket从相同的来源服务(否则浏览器不会在WebSocket连接上发送cookie )。

另一种可能是通过WebSocket连接上的消息实现自定义身份验证机制。

另一种可能是使用TLS和基于客户端证书的身份验证。

请注意,尽管WebSocket具有基于HTTP的初始打开握手,而且原则上可以使用任何HTTP身份验证机制,但也有一些实际的限制。例如,使用HTTP基本身份验证,浏览器将呈现普通HTML页面请求的登录对话框,但不呈现所谓的子资源(如图像请求)的登录对话框。和WebSocket (也算作子资源)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20507512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档