在它最简单的形式中,我想要一个拦截器来检查会话数据以查看用户是否已登录,如果没有,则将它们重定向到登录页面。显然,我不希望在欢迎页面或登录页面本身上使用这个拦截器。
我见过一个使用每个 url列表到两个拦截器之一的设计,一个什么都不做,另一个是你想要实现的实际拦截器,但这个设计似乎非常笨重,限制了应用程序的可扩展性。我觉得应该有一种基于注释的拦截器使用方式,但这似乎并不存在。
我的朋友想要实际修改处理程序类,以便在每次请求期间检查Controller,它将请求映射到我们要创建的新注释(ex @Interceptor(“loginInterceptor”))。
我的主要观点是可扩展性,因为我想稍后为基于角色的身份验证和/或管理身份验证实现类似的拦截器。
听起来我的朋友的方法对此有用吗?或者这样做的正确方法是什么?
答案 0 :(得分:1)
答案 1 :(得分:1)
请查看这些网站,Spring Framework Annotation-based Controller Interceptor Configuration和 Ability to restrict HandlerInterceptors to specific controller paths
希望它会有用。
答案 2 :(得分:0)
如果用户对象不在会话中,那么将用户发送到登录页面的所有请求上的Servlet过滤器怎么样?对于第二部分,您可以在可以检查用户角色的控制器方法上使用安全注释。