不过滤指定url意思就是遇到指定的url直接放行,不跳转到登录页面,比如通过调某一个方法检测服务是否正常就需用用到该配置。
配置方式也比较简单,shiro.xml中添加相应的配置即可
比如遇到path为“/e74050c07f7d315d3ffc73df398ff9c5”的请求直接放行,可以如下配置:
<!-- Shiro Filter --> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager" /> <property name="loginUrl" value="/login" /> <property name="successUrl" value="/" /> <property name="filterChainDefinitions"> <value> /e74050c07f7d315d3ffc73df398ff9c5 = anon /actuator/prometheus = anon /login = authc /logout = logout /static/** = anon /register/** = anon /admin/** = roles[admin] /** = user </value> </property> </bean>
anon表示没有参数,可以直接访问
注意:直接放行的url一定要放到前面,至少要放到/**的前面,因为是从上到下按顺序过滤的。
关于shiro设置url过滤的详细说明可以参考这篇博文:https://blog.csdn.net/zhang18330699274/article/details/80386531