Shiro详解

2019-04-25 06:59:39来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Shiro

Shiro集成Spring

  • 加入Spring和Shiro的jar包
  • 配置Spring及SpringMVC
  • 参照:官方给出的案例shiro\samples\spring

Shiro集成Web

  • Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制
  • ShiroFilter类似于如Struts2/SpringMVC这种web框架的前端控制器,是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登录/权限等工作。

ShiroFilter的工作原理

  • DelegatingFilterProxy作用是自动到Spring容器查找名字为ShiroFilter(filter-name)的bean并把所有Filter的操作委托给它
  • [urls]部分的配置,其格式是:“url=拦截器[参数],拦截器[参数]”;
  • 如果当前请求的url匹配[urls]部分的某个url模式,将会执行其配置的拦截器
  • anon(anonymous)拦截器表示匿名访问(即不需要登陆即可访问)
  • authc(authentication)拦截器表示需要身份认证通过后才能访问

Shiro中默认的过滤器

URL匹配模式

  • url模式使用Ant风格模式
  • Ant路径通配符支持?、*、**,注意通配符匹配不包括目录分隔符"/":  
  1. — ?:匹配一个字符,如/admin?将匹配admin1,但不匹配/admin或/admin/;
  2. — *:匹配零个或多个字符串,如/admin将匹配/admin、/admin123,但不匹配/admin/1;
  3. — **:匹配路径中的零个或多个路径,如/admin/**将匹配/admin/a或/admin/a/b

URL匹配顺序

  • URL权限采取第一次匹配优先的方式,即从头开始使用第一个匹配的url模式对应的拦截器链。
  • 如:
  1. — /bb/** = filter1
  2. — /bb/aa = filter2
  3. — /** = filter3
  4. — 如果请求的url是"/bb/aa",因为按照声明顺序进行匹配,那么将使用filter1进行拦截。


原文链接:https://www.cnblogs.com/Krving/p/10766606.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:eclipse中运行出错:无法初始化主类的解决办法

下一篇:DRUID连接池配置详情