我有一个使用spring-security core v4.1.1.RELEASE的spring-boot应用程序(spring-boot v1.3.3.RELEASE).

看来,如果我通过扩展OncePerRequestFilter或GenericFilterBean来制作自定义滤镜豆,则无论我是否在自定义中传递给configure()的HttpSecurity对象上调用addFilter(),我的滤镜都会自动添加到滤镜链中WebSecurityConfigurerAdapter类.

这是自定义过滤器代码:

@Component

public class CustomFilter extends GenericFilterBean {

@Override

public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws ServletException, IOException {

// custom filter code here

}

}

这是缩写的安全配置代码:

@Configuration

@EnableWebSecurity

public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

@Override

public void configure(HttpSecurity http) throws Exception {

// not adding the custom filter here

http.authorizeRequests()

.antMatchers("/api/login/**").permitAll()

.anyRequest().authenticated();

}

}

我观察到的是,即使我没有将其添加到过滤器链中,所有请求,即使是对/ api / login的请求,都将通过CustomFilter.如果我声明的CustomFilter没有任何@Configuration或@Bean批注,则除非将其在SecurityConfiguration类中明确告知,否则不会将其添加到过滤器链中.

我的问题:这是预期的行为吗?如果是这样,为什么?在我看来,由于缺少更好的词,将过滤器自动添加到过滤器链是很危险的-无论我在SecurityConfiguration中指定了什么,每个请求都会通过过滤器.

java应用中spring自动注入_java-Spring Security会自动过滤注入吗?相关推荐

  1. jdbc mysql 成功 spring mysql 失败_java Spring 的JDBCTemplet批量入库数据时如果有一条数据入库不成功,其他的数据还会入库吗...

    展开全部 在我们的项32313133353236313431303231363533e59b9ee7ad9431333363373639目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客 ...

  2. java语言中实现键盘输入_Java程序设计中的键盘输入数据的方法分析

    1. 引言 高校中很多学校开设了Java语言程序设计课程,这是一门实践性很强的语言,在程序设计中经常需要从键盘随机输入所需要的数据,Java语言中的键盘输入数据没有像C语言给我们提供的scanf(), ...

  3. java类中的static块_java类中static代码块的执行次数

    java类中 static静态代码块的执行次数 1.在类加载的init阶段,类的类构造器中会收集所有的static块和字段并执行,static块只执行一次,由JVM保证其只执行一次. 2.直接看示例 ...

  4. java app的强制更新吗_java – Spring JPA / Hibernate事务强制插入而不是更新

    编辑.虽然扩展基础存储库类并添加插入方法可以使更优雅的解决方案似乎在实体中实现Persistable.见可能的解决方案2 我正在使用springframework.data.jpa创建一个服务,使用H ...

  5. java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题

    我正在使用Spring-Data-mongodb对MongoDB执行各种请求. 尝试执行分页&时用忽略的情况排序我得到一个例外, 这是我的代码: Sort.Order order = new ...

  6. java什么是服务治理平台_Java | Spring Cloud 是如何实现服务治理的

    Spring Cloud 是如何实现服务治理的 Table of Contents 建议提前阅读 Spring Cloud Commons 之服务治理浅析 Spring 在设计的时候,通常会考虑方便扩 ...

  7. java mvc中重复提交表单,spring mvc 防止重复提交表单的两种方法,推荐第二种

    第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...

  8. java里不支持post请求_java – Spring Boot – 不支持请求方法’POST’

    我的Spring Boot应用程序中不支持异常PageNotFound:Request方法'POST'. 这是我的控制器: @RestController public class LoginCont ...

  9. java开发中遇到的问题_Java开发过程中遇到的问题及解决方法

    1.SpringMVC前台提交参数绑定list时大小超过256 解决方案:①在使用该方法的类上添加方法修改默认长度 @InitBindepublic voidinitBinder(WebDataBin ...

  10. java.lang中所有的类_java.lang中的数学类

    Math 类 Java 中,讲 Math 类定义为 final 类,不能再派生子类. Math 类中定义的常量和方法都用 static 修饰符来修饰,因此不必创建 Math 类的实例,可以通过类名直接 ...

最新文章

  1. 使用MS VS的命令来编译C++程序
  2. windows云服务器价格_免费windows云服务器
  3. bugku——分析(流量分析)题解
  4. 在sqlyog进行数据库的备份_狂神说MySQL07:权限及如何设计数据库
  5. 你身边有创业失败导致负债累累的案例吗
  6. MyEclipse Maven 警告: Failed to scan JAR [file:/C:/xxxxx.jar] from WEB-INF/lib
  7. JVM常见垃圾收集器
  8. 怎么能更好地利用好大数据分析
  9. 新的任务范式:Program-guided Tasks
  10. this关键字在构建错误实例时使用说明
  11. 网络工程师 名词解释
  12. 高项计算题2-三点估算(计划评审技术PERT),时差,投资回收期,贴现率,沟通渠道
  13. c++:从单例到内存屏障
  14. 使用串口转USB连接树莓派
  15. 怎么用计算机打出汉字,Windows XP电脑入门如何使用输入法输入汉字
  16. 王者荣耀购买装备----笔记
  17. Elasticsearch实战(十三)---聚合搜索Aggs聚合及Count,Avg操作
  18. Ubuntu 怎么重启网络
  19. easyui SWFUpload
  20. 一个简易的DIY场景H5框架

热门文章

  1. numpy可视化教程
  2. java操作elasticsearch实现query String
  3. JS学习系列08 - 内存分配
  4. Matlab图像处理基本函数(1)
  5. VS下对Resx资源文件的操作
  6. 《当程序员的那些狗日日子》(三十五)欲去还留
  7. 基于SSM+Layui+Bootstrap实现学校教师技能大赛评分系统
  8. Oracle SCN
  9. MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列
  10. no.1 voice