单点登录Java和NodeJs(在Java和NodeJs之间共享单个会话对象)

单点登录Java和NodeJs(在Java和NodeJs之间共享单个会话对象),java,node.js,spring,spring-mvc,express,Java,Node.js,Spring,Spring Mvc,Express,我开发了两个应用程序。一个应用程序使用Java(SpringMVC和SpringSecurity)开发,另一个应用程序使用NodeJs开发。 我想在Java应用程序(Spring framwork应用程序)中集成NodeJs应用程序。我想在登录Java应用程序后访问(调用)NodeJs应用程序。 我登录了论坛,但我看不清楚 例如)我的情况是,我在Java中有一个超链接(登录后将显示超链接),如果用户单击该超链接,则调用NodeJs应用程序 您能给出一些集成NodeJs和Java应用程序以及在Ja

我开发了两个应用程序。一个应用程序使用Java(SpringMVC和SpringSecurity)开发,另一个应用程序使用NodeJs开发。 我想在Java应用程序(Spring framwork应用程序)中集成NodeJs应用程序。我想在登录Java应用程序后访问(调用)NodeJs应用程序。 我登录了论坛,但我看不清楚

例如)我的情况是,我在Java中有一个超链接(登录后将显示超链接),如果用户单击该超链接,则调用NodeJs应用程序


您能给出一些集成NodeJs和Java应用程序以及在Java和NodeJs应用程序之间共享会话的示例和想法吗

您可以将您的web应用放在代理服务器后面,以避免CORS问题,并共享您将使用DB的会话。
之后,您只需在NodeJs应用程序上检查会话到期。

使用loader balancer管理http请求,并通过java或NodeJs处理它们。或者一个简单的解决方案使用不同的端口。关于共享会话,请参阅文章OK谢谢。我可以在hyperlink click事件中使用HTTP访问控制来访问NodeJs应用程序URL并发送Java会话对象(假设我可以从JSP页面调用NodeJs应用程序URL)。通常在NodeJs中,我们分配和检索会话值,如req.session.username。但如何从NodeJs中的Java会话对象中检索值呢?你能指导我实现这一点吗?你可以使用cookies并保存sessionid。我在我的一个项目中做了这件事。1) var cookies=require('express/node_modules/cookie')。parse(req.headers.cookie)2)parsed=require('express/node_modules/connect/lib/utils')。parseSignedCookies(cookies,'xxxxxxxxxxxxxxxxxxxxx');3) 从session_setting.store.get(已解析['connect.sid'],函数(err,session){})获取数据基于您的回复,我添加了代码并测试了应用程序。但我无法从Java会话对象获取信息。我在这里添加了所需的代码,请检查thisvar express=require('express')、cookies=require('cookie')、parsed=require('utils')、connect=require('connect');var sessionKey='connect.sid';var sessionStore=new connect.middleware.session.MemoryStore();var-app=express();var secreatKey='123456789456';app.use(express.cookieParser(secreatKey));使用(express.json());app.use(express.urlencoded());use(express.session({store:sessionStore,key:sessionKey}));