spring security解析----架构解读

本文介绍了Spring Security的整体架构设计,它利用Servlet Filter机制和执行链模式在请求时进行验证。Spring Security提供了丰富的默认Filter,涵盖了登录认证、session管理、跨站请求等多个方面。开发者可以通过自定义Filter实现特定需求,但要注意避免因注解注入导致的重复执行问题。通过调整Filter顺序,可以精确控制过滤逻辑。

之前写了一个关于session的,看到大家现在用spring security还挺多,相比当时我开始用的时候,大家都在shiro。就写几篇关于spring security实践以后的总结吧。

先从整体的spring security架构设计谈谈。(后面很多内容都是借用官网最新文档)

spring security是spring框架下的安全解决方案,从刚开始到现在,已经经历了很多版本,但是总的架构设计没有变化。目前借助springboot的大势,很多旗下的框架得到发展。

它的总体思路非常简单,就是利用servlet filter机制,再结合执行链模式,在request请求时,一层层捕获相应的信息,进行验证。如图:

filters

 

所以,当我们不熟悉框架里其他组件的时候,可以自定义filter GenericFilterBean去实现任何拦截处理。如报文参数验证、请求日志输出、报文攻击校验、权限校验等等。

class TestFilter extends GenericFilterBean{
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
    // do something before the rest of the application
    chain.doFilter(request, response); // invoke the rest of the application
    // do something after the rest of the application
    }
}

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值