我将 Javalin 设置为微服务,为我的 React 应用程序提供 API 端点。在本地,Javalin 在端口 7070 上运行,React 在 3000 上运行(通过带有 create-react-app 的内置服务器)。
我正在尝试连接登录/注销服务,在我的登录控制器中我有这个代码。
boolean isValid = User.isPasswordValid(u, password);
if (isValid)
{
ctx.sessionAttribute("currentUser", u.userHash);
}
在 React 代码中,它侦听来自此控制器的成功响应,然后重新路由到/dashboard
页面。/dashboard
页面加载数据,我通过像这样从 Session 中获取 userHash 来获取适合用户的数据:
String userHash = ctx.sessionAttribute("currentUser");
但是,这总是返回 null。
看起来这应该可以工作,甚至与 Javalin 网站https://javalin.io/tutorials/website-example上发布的教程代码相匹配
运行在不同服务器上的 React 代码和 Javalin 是否会导致它无法工作?我尝试用替换sessionAttribute()
它cookieStore()
,它有同样的空问题。