吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3040|回复: 3
收起左侧

[Java 转载] (第三天)Shiro与Spring集成

[复制链接]
NullPointer 发表于 2016-12-23 11:58
集成Spring需要两大步骤
一、Web.xml配置
1、Shiro通过ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制。
2、ShiroFilter类似于如Struts2/SpringMVC这种框架的前端控制器,是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登陆/权限等工作。
3、DelegatingFilterProxy作用是自动到Spring容器查找名字为shiroFilter(filter-name)的bean并把所有Filter的操作委托给它。
1.png
二、Spring集成1、配置SecurityManager,Shiro的核心组件
2.png
2. 配置 CacheManager.
2.1 需要加入 ehcache 的 jar 包及配置文件.
3.png
3. 配置 LifecycleBeanPostProcessor
4.png
4、启用 IOC 容器中使用 shiro 的注解. 但必须在配置了 LifecycleBeanPostProcessor 之后才可以使用.
5.png
5、 配置 ShiroFilter
6.png
三、部分细节说明:
1、[urls]部分的配置格式是:url=拦截器[参数],拦截器[参数]....;(参数后续解释)
2、若当前请求的url匹配[urls]部分的某个url模式,将会执行其配置的拦截器;(拦截器后续有专题)
3、anon(anonymous)拦截器表示匿名访问(即不需要登陆就可访问);
4、authc(authentication)拦截器表示需要身份认证通过后才能访问(登陆后才能访问)
5、roles[admin]拦截器表示需要有admin角色授权才能访问;
6、perms["user:create"]拦截器表示需要有“user:create”权限才能访问。
QQ图片20161223113615.png
四、URL匹配模式
url模式使用Ant风格模式
Ant路径通配符支持?、*、**,注意通配符匹配不包括目录分隔符“/”:
1、?:匹配一个字符,如”/admin?”将匹配/admin1,但不匹配/admin或/admin2;
2、*:匹配零个或多个字符串,如/admin*将匹配/admin、/admin123,但不匹配/admin/1;
3、**:匹配路径中的零个或多个路径,如/admin/**将匹配/admin/a或/admin/a/b。
五、url模式匹配顺序
1、Url采取第一次匹配优先的方式
2、url模式匹配顺序是按照在配置中的声明顺序匹配,即从头开始使用第一个匹配的url模式对应的拦截器链。如:
Java代码  

  • /bb/**=filter1  
  • /bb/aa=filter2  
  • /**=filter3   

如果请求的url是“/bb/aa”,因为按照声明顺序进行匹配,那么将使用filter1进行拦截。

完整Demo下载地址:https://github.com/GeekerDream/shiro  中的shiro-example-spring

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

13551494196 发表于 2016-12-23 12:38
感谢分享
xiaopan7881 发表于 2017-1-12 11:31
 楼主| NullPointer 发表于 2017-1-12 15:52
xiaopan7881 发表于 2017-1-12 11:31
感谢分享,jar有没有 可以分享一下

看我其他文章,有ssm+shiro整合好的空框架
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 04:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表