【发布时间】:2011-12-02 14:58:36
【问题描述】:
我将 Spring MVC 用于带有本地 Tomcat 6 服务器的个人网页。我正在使用默认的 Tomcat 配置(默认情况下 eclipse 会设置什么)。
在我的控制器中(每个页面使用一个控制器,并创建会话 bean 以在它们之间传递信息)我有两种方法,一种用于捕获 POST,另一种用于捕获 GET 请求方法。页面逻辑将让用户单击提交按钮并使用“redirect:abc.htm”返回将他们发送到新页面或返回到 GET 方法。
我没有明确处理 cookie,但确实拥有 Session Beans 中的所有信息,并且正在使用 Spring Security 来处理安全/用户管理。
如果用户未经授权,我有一个 spring 安全配置可以将用户重定向回登录页面。我还有一个捕获 HttpSessionRequiredException 的 ExceptionHandler,尽管这不是在我使用户会话到期时触发的(它使用我的 Spring Security 配置的逻辑)。
当会话过期时(我通过 Tomcat 管理器执行此操作),用户将被重定向回登录页面。他们在尝试做某事后被重定向(单击提交,或重新访问除 login.htm 之外的任何页面)。
我的问题是,一旦他们回到会话过期的初始页面,如果在过期时他们点击了提交按钮,它会将他们重定向到初始页面并处理提交中的 POST 事件。
例子:
- 用户已登录,并在主页上
- 用户会话过期
- 用户,在主页上,点击提交按钮
- 用户被重定向回 login.htm 页面
- 用户登录并导航回主页。
- 不是遵循主页的 GET 逻辑,而是将它们处理为主页的 POST,我不确定 POST 变量的来源。
有没有办法追踪这个错误的来源或究竟是什么原因造成的?
【问题讨论】:
标签: spring model-view-controller http tomcat