Shiro 过滤器原理

Shiro是如何实现安全验证的?

要分析一个框架,首先得找到框架的一个入口,如果不知道入口的话,怎么去找呢?
我们可以在我们确定会执行的位置打上一个断点,然后debug分析过去。

我在我自己配置的一个过滤器中的preHandle方法中打了一个断点。然后用postMan去随意请求一个接口(为什么不用浏览器呢?因为浏览器在每次请求接口的时候都会加载一个.icon的文件,可能会影响我们的测试,所以最好使用postMan这样的工具)。

Shiro 过滤器原理
然后会发现原来 Shiro 是通过过滤器来拦截请求并进行一些校验的,从下往上看,一个请求过来,jvm启动一个线程,然后经过Tomcat的核心类的一些类(org.apache.catalina.core),再就是经过一些过滤器,最终到了Shiro的过滤器。

Shiro 过滤器原理
Shiro 过滤器原理
那么问题来了,Shiro是怎么将过滤器是如何被调用的呢?完整内容