几天来,我试图用 Magnolia 和 Spring 会话 bean 解决我的问题,经过几个小时后,我没有更多的想法可能出了什么问题。
我正在开发基于 Magnolia 5.2.4 的简单应用程序,该应用程序在 tomcat 7.0.5 上工作。我也将 Blossome 与 Spring MVC 一起使用
我遇到的问题,只出现在匿名用户的公共上,它是关于会话 Bean,我用它来保存所有记录的使用数据 - 是的,我没有使用弹簧安全性来避免让事情变得更复杂。所以我有我的会话范围 bean,它存储例如记录的用户数据。我正在从 jsp 页面等的 bean 中检索它。
当我在用户登录后键入 www.my_doman.com/appName 时(并且会话 bean 填充了用户数据)似乎我得到了一些新的会话 bean,因为用户数据是空的(= null)。当我执行一些操作,例如 www.my_doman.com/appName/action.html 甚至 www.my_doman.com/appName// 时,正确的控制器被触发,我得到了正确的会话 bean,其中包含我刚刚填写的用户数据他已登录。更重要的是 www.my_doman.com/appName 的行为不像 www.my_doman.com/appName**/**
当我注销时,清理存储在 sessionBean (sessionBean.setUserData(null); ) 中的用户数据并使会话无效 ( request.getSession().invalidate) 有时我会得到“旧”用户数据。即使在其他计算机上,我也可以拦截在其他计算机上登录的用户。所以-我正在单击“注销”并且控制器和 jsp 没有找到任何用户数据(什么是正确的)但是当我将操作更改为 www.my_doman.com/appName/ 时,旧会话 bean 会以注销的用户返回数据。在超级用户的作者上,它工作得很好......
有人知道出了什么问题吗?我正在尝试使用匿名用户 magnolia 权限,但这不是我想的那样。
最好的问候