我想将网络登录会话转移到我的java桌面应用程序,这样我再也不想登录桌面应用程序了。
用户登录我的Web应用程序后,我在用户系统上设置了一些cookie,一旦他启动我的独立应用程序,我想使用此处存储的凭据将我的用户登录到应用程序而无需重新登录。
我的问题: - 我可以访问cookie来读取Auth令牌和其他参数吗?这是正确的解决方案吗? - 要达到上述要求,是否有适当的解决方案。
Cookie对我来说似乎是一个解决方案。但实质上,我希望在Web应用程序和独立应用程序之间实现无缝集成。有哪些解决方案?
答案 0 :(得分:3)
对于上述要求,我们需要使用Java Web Start技术 这是链接http://docs.oracle.com/javase/tutorial/deployment/webstart/
答案 1 :(得分:1)
不确定Skype是如何做到的,但看起来WebEx和GotoMeeting都依赖于自定义浏览器扩展,这些扩展需要获得“与合作的本机应用程序通信”的权限。 (来自Chrome的示例设置)。
我无法找到JNLP原生的任何内容,允许您阅读浏览器Cookie,因为它应该是沙盒。但是,通过Java应用程序进行日志记录后,如果有帮助,您应该可以使用JNLP Persistence APIs。
答案 2 :(得分:1)
我认为您应该反过来,当您在网上登录时,将一些会话ID传输到桌面应用程序。
我的想法是在某个端口上使用桌面应用程序中的localhost服务器(使用Jetty)。当您在Web上登录时,它将调用该本地服务器的URL来传输会话ID。例如:
localhost:8888/authen?sessionID=123456
然后本地服务器将获得该sessionID参数。
如果你认为这适合你,我会解释更多细节