SecurityFilterChain

简介: `SecurityFilterChain` 是Spring Security中定义安全过滤器链的接口,其唯一实现类 `DefaultSecurityFilterChain` 封装了请求匹配器和过滤器列表,用于判定请求是否匹配并提供对应的过滤器链,是Web安全配置的核心组件。

//接口
public interface SecurityFilterChain {
boolean matches(HttpServletRequest var1);
List getFilters();
}

//实现类
public final class DefaultSecurityFilterChain implements SecurityFilterChain {

private static final Log logger = LogFactory.getLog(DefaultSecurityFilterChain.class);
private final RequestMatcher requestMatcher;
private final List<Filter> filters;

public DefaultSecurityFilterChain(RequestMatcher requestMatcher,
                                  Filter... filters) {
    this(requestMatcher, Arrays.asList(filters));
}

public DefaultSecurityFilterChain(RequestMatcher requestMatcher, 
                                  List<Filter> filters) {
    logger.info("Creating filter chain: " + requestMatcher + ", " + filters);
    this.requestMatcher = requestMatcher;
    this.filters = new ArrayList(filters);
}

public RequestMatcher getRequestMatcher() {
    return this.requestMatcher;
}

public List<Filter> getFilters() {
    return this.filters;
}

public boolean matches(HttpServletRequest request) {
    return this.requestMatcher.matches(request);
}

public String toString() {
    return "[ " + this.requestMatcher + ", " + this.filters + "]";
}

}最后看SecurityFilterChain,这是个接口,实现类也只有一个,这才是web.xml中配置的过滤器链对象!

相关文章
|
Java
SpringBoot项目集成Lombok
SpringBoot项目集成Lombok
386 1
|
Java 数据库 Spring
spring cloud 配置阿里数据库连接池 druid
spring cloud 配置阿里数据库连接池 druid
1082 0
spring cloud 配置阿里数据库连接池 druid
|
10月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本文介绍Spring Boot中配置管理的常用方法:通过`@Value`读取单个配置,使用`@ConfigurationProperties`封装多个配置项,并实现开发与生产环境配置文件(如application-dev.yml和application-pro.yml)的灵活切换,提升项目可维护性。
|
SQL Java 数据库连接
SpringBoot从入门到精通(二十七)JPA实现自定义查询,完全不需要写SQL!
前面讲了Spring Boot 整合Spring Boot JPA,实现JPA 的增、删、改、查的功能。JPA使用非常简单,只需继承JpaRepository ,无需任何数据访问层和sql语句即可实现完整的数据操作方法。 JPA除了这些功能和优势之外,还有非常强大的查询的功能。以前复查的查询都需要拼接很多查询条件,JPA 有非常方便和优雅的方式来解决
SpringBoot从入门到精通(二十七)JPA实现自定义查询,完全不需要写SQL!
|
10月前
|
SQL 安全 JavaScript
黑名单和白名单
应用内防御SQL注入主要有黑名单和白名单两种输入验证方法。黑名单过滤已知恶意字符,易实现但防护有限;白名单仅允许预定义的合法字符,安全性更高。应根据输入类型定制规则,并结合警报机制及时响应异常输入,确保安全与可用性平衡。
|
10月前
删除文档
删除文档使用语法:db.集合名称.remove(条件)。如db.comment.remove({})将清空集合数据,慎用;删除指定记录如_id为&quot;1&quot;的文档,可执行db.comment.remove({_id:&quot;1&quot;})。操作不可逆,请谨慎执行。
|
10月前
|
XML Java 数据格式
@Configuration
被@Configuration标注的类会被Spring容器识别为配置类,等同于XML配置文件。通过@Bean可注册Bean实例,配合AnnotationConfigApplicationContext可启动IOC容器并加载所有Bean,包括配置类自身。
|
SQL Web App开发 Java
java.sql.SQLException: Unsupported character encoding 'utf8mb4'.
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/76199827 四月 12, 2017 3:47:52 下午 org.
5529 0
|
10月前
|
XML Java 数据库连接
引入MybatisPlus的起步依赖
MyBatisPlus官方提供了一站式Starter,集成MyBatis与MyBatisPlus全部功能,支持自动装配,可直接替代原生MyBatis依赖。引入`mybatis-plus-boot-starter`后,无需额外配置,简化开发流程,原MyBatis依赖可移除,提升效率。
|
前端开发 数据安全/隐私保护
Uncaught (in promise) Error: Request failed with status code 404 at createError (createError.js:
Uncaught (in promise) Error: Request failed with status code 404 at createError (createError.js:
1830 2

热门文章

最新文章