Shiro的过滤链设计机制

当我们的shiro交给spring管理后,我们可以在web.xml中定义过滤,但是这样的过滤显得粗粒化了,因为只是给了一个/*:

<filter-mapping>

<filter-name>shiroFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

我们可以在shiro的xml文件里进行定义过滤链,这样更加的细粒化:

<!--过滤器链 -->

<property name="filterChainDefinitions">

<value>

/tologin.action= anon

/login.action =anon

/staticfile/** = anon

/** = authc

</value>

</property>

这样我们就可以定义过滤链了,其中,/**表示拦截所有的请求和静态资源文件

过滤链其实说起来也很简单,过滤的目的要么是放行通过要么是拦截不让其通过,这里的anon就是通过,authc就是不让其通过,我们可以在这个value标签可以写无限多个放行与拦截,所以感觉上就形成了一个链式结构。


版权声明:本文为weixin_66109724原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。