Magnolia CMS Public和Session Scope Bean

时间:2015-04-20 09:07:49

标签: spring spring-mvc invalidation magnolia session-bean

有几天我试图用Magnolia和Spring会话bean解决我的问题,经过几个小时我没有更多的想法可能出错。

我正在开发基于Magnolia 5.2.4的简单应用程序,在tomcat 7.0.5上工作。我也和Spring MVC一起使用Blossome

我遇到的问题,只出现在匿名用户的Public上,它是关于会话Bean,我用来保存所有已记录的使用数据 - 是的,我没有使用Spring安全性来使事情变得更复杂。所以我有我的会话范围bean,它存储例如记录的用户数据。我正在从jsp页面上的bean中检索等。

  1. 当我记录用户后输入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 ** / **

  2. 当我注销时,清理存储在sessionBean中的用户数据(sessionBean.setUserData(null);)并使会话无效(request.getSession()。invalidate)有时我得到'旧'用户数据。即使在其他计算机上,我也可以拦截登录其他计算机的用户。 所以 - 我点击'注销'并且控制器和jsp没有找到任何用户数据(什么是正确的)但是当我将我的操作更改为www.my_doman.com/appName/时,旧会话bean返回并注销用户数据。对于超级用户的作者,它工作得很好.......

  3. 有人知道出了什么问题吗?我尝试使用匿名用户玉兰花权利,但这不是我想的那样。

    最诚挚的问候 扬

1 个答案:

答案 0 :(得分:1)

当您在另一台计算机上获取旧数据时,尝试登录公共实例的管理界面,转到工具/缓存工具,然后单击"清除所有"页面底部的按钮。看看问题是否消失了。我怀疑你正在缓存用户特定的页面,不应该缓存。如果上面的测试有助于解决问题,您应该查看缓存配置以重新配置它以从缓存中排除具有个性化信息的页面。

HTH,