我有这个小型的Web应用程序,我正在使用Spring MVC 3.0
我实现登录功能的方式是通过普通的Handler Interceptor。即当请求进入会话时,如果它有一个User对象,则将其发送到登录页面。
我的问题是,Spring是否有一些特殊的Handler Interceptor来实现登录功能。如果没有,那么我正在做正确的,如上所述。或者有更好的方法来做到这一点。 感谢名单...
答案 0 :(得分:2)
你正确地做到了。 Spring Security也以类似的方式完成它。但是不是将事物保存在Session
对象中,而是将事物保存在另一个数据结构中,因为它们存储了诸如访问权限等其他内容。一旦用户通过数据库进行身份验证,用户就会缓存在数据结构中,并且然后,针对此缓存检查所有其他请求。如果用户不在缓存中,则会将它们抛出到登录页面。你基本上做了同样的事情,但是使用了Tomcat的内置Session对象缓存。
如果您只需要基本的安全性,我建议您不要使用Spring Security。过度工程是一件坏事。另一方面,如果你觉得这个项目会扩展成一个巨大的野兽,那么从现在开始在架构中包含Spring Security是非常明智的。
答案 1 :(得分:0)
您可以使用spring security。它是使用过滤器实现的,您可以指定一个登录URL,它会在收到请求并且用户未登录后自动被调用。