Spring中拦截WebSecurityConfigurerAdapter和Aop拦截区分

在Spring中,拦截WebSecurityConfigurerAdapter和AOP的目的和方式有一些区别。

  1. WebSecurityConfigurerAdapter拦截

    • 目的:WebSecurityConfigurerAdapter主要用于配置和管理应用程序的安全性,包括定义哪些请求需要进行身份验证、授权规则、登录页面等。
    • 方式:通过继承WebSecurityConfigurerAdapter类,并覆盖其中的方法来实现拦截。可以使用http对象定义请求的安全规则,例如需要登录、需要特定角色等。也可以使用configure方法配置认证提供者、用户服务、密码编码器等。
  2. AOP拦截

    • 目的:AOP(面向切面编程)主要用于解耦横切关注点,如日志记录、事务管理等。它是一种编程范式,可以在方法调用前、后或异常抛出时插入额外的逻辑。
    • 方式:通过定义切面和切点来实现拦截。切点定义了要拦截的方法或连接点,切面则定义了在何时和如何拦截这些连接点,并在拦截点处执行额外的逻辑。

总结起来,WebSecurityConfigurerAdapter主要用于配置和管理应用程序的安全性,通过继承和覆盖其中的方法来实现拦截。而AOP是一种横切关注点的解耦方式,可以在方法调用前、后或异常抛出时插入额外的逻辑。它们的目的和方式有所不同,但都可以用于实现在特定场景下的拦截和处理。

springboot中有哪些拦截器

在Spring Boot中,有以下几种类型的拦截器可供使用:

  1. HandlerInterceptor接口:HandlerInterceptor接口是Spring MVC提供的拦截器接口。通过实现该接口,可以自定义拦截器来对请求进行拦截和处理。HandlerInterceptor接口包括preHandle、postHandle和afterCompletion等方法,可以在请求处理前、请求处理后以及视图渲染完成后执行相应的逻辑。

  2. Filter接口:Filter接口是Java Servlet规范提供的过滤器接口,也可以在Spring Boot中使用。通过实现该接口,可以编写过滤器来对请求进行处理。过滤器可以在请求进入Servlet之前进行预处理,也可以在响应返回给客户端之前进行后处理。

  3. @ControllerAdvice注解:@ControllerAdvice注解用于定义全局控制器建议(advice),可以将其用作拦截器。通过在类上添加@ControllerAdvice注解,并结合@ExceptionHandler、@InitBinder和@ModelAttribute等注解,可以实现全局的异常处理、数据绑定和模型属性处理。

  4. WebRequestInterceptor接口:WebRequestInterceptor接口是Spring Web提供的一个接口,用于拦截Web请求。它与HandlerInterceptor接口类似,但更加通用,可以拦截不仅限于Spring MVC的请求,还包括其他Web请求。

需要注意的是,以上拦截器的作用范围略有不同。HandlerInterceptor和Filter接口主要用于拦截请求和响应,而@ControllerAdvice注解则更多地用于全局的异常处理和模型属性处理。而WebRequestInterceptor接口则是一个更为通用的接口,可以拦截各种Web请求。

根据实际需求,可以选择合适的拦截器类型来实现相应的功能。

你可能感兴趣的:(Spring,spring,java,后端)