登录验证解决方案:
一种是使用拦截器,在Spring MVC或Springboot中比较常见,如Springboot中使用时首先自定义拦截器实现HandlerInterceptor接口,这个接口里有四大方法,preHandle是在请求controller前调用,postHandle在调用controller方法之后、视图渲染之前调用,afterCompletion是在渲染视图完成之后使用,afterConcurrentHandlingStarted方法用来处理异步请求。然后写拦截器配置类,类上加@Configuration注解,并实现接口WebMvcConfigurer,类中重写addInterceptors方法,主要配置拦截器和拦截器的url。
另一种就是使用Spring Security,它是通过一组过滤器链来实现。
1、Spring Security简介
Spring Security是一个专注于为Java应用程序提供身份认证和授权的框架,它的强大之处在于它可以轻松扩展以满足自定义的需求。
功能:认证、授权,防止攻击(如会话攻击、点击劫持、csrf攻击)。
原理分析:采用责任链的设计模式,有一条很长的过滤器链