Java 春季会议管理

Java 春季会议管理,java,spring-mvc,Java,Spring Mvc,我正在为我的web应用程序使用Spring。我使用了几个SimpleFormController。我在第一个SimpleFormController中为登录页面创建了一个会话,使用: HttpSession session = request.getSession(true); 如何使用会话保护其他SimpleFormController,即,如果用户未登录,其他控制器将不会加载 谢谢您可能想使用Spring Security。 它很灵活,允许基于角色的限制 没有它,无论用户是否登录,您都需要

我正在为我的web应用程序使用Spring。我使用了几个SimpleFormController。我在第一个SimpleFormController中为登录页面创建了一个会话,使用:

HttpSession session = request.getSession(true);
如何使用会话保护其他SimpleFormController,即,如果用户未登录,其他控制器将不会加载


谢谢

您可能想使用Spring Security。 它很灵活,允许基于角色的限制

没有它,无论用户是否登录,您都需要手动检查每个控制器。或者,您必须通过向webapp添加过滤器来“重新设计”安全框架

如果您只想保护获取会话的操作,那么需要编写一个过滤器来包装原始请求并覆盖getSession方法。在那里,您可以使用原始请求的
getSession()
检查登录数据


顺便说一句,
getSession()
相当于
getSession(true)

为了保护控制器不受预期会话之外的访问,您可能需要将所需的作用域规则与本明确编写的指南进行比较。


作者给出了一个创建带有@Scope(“session”)注释的控制器的示例。

Thank you Vitaly。有没有使用Spring Security的例子?这里有一个很好的视频演示和示例应用程序检查一下我为SpringMVC3和SpringSecurity3编写的指南