- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
shiro动态URL权限控制
1 / 10
shiro 动态 URL 权限控制
用过 Spring Security 的朋友应该比较熟悉对 URL 进行全局的权限控制,即访问 URL 时进行权限匹配;如果没有权限
直接跳到相应的错误页面。Shiro 也支持类似的机制,不过需要稍微改造下来满足实际需求。不过在 Shiro 中,更多的是通
过 AOP 进行分散的权限控制,即方法级别的;而通过 URL 进行权限控制是一种集中的权限控制。本章将介绍如何在 Shiro
中完成动态 URL 权限控制。
实体
具体请参考 com.github.zhangkaitao.shiro.chapter19 包下的实体。
Java代码
1. public class UrlFilter implements Serializable {
2. private Long id;
3. private String name; //url 名称/描述
4. private String url; //地址
5. private String roles; //所需要的角色,可省略
6. private String permissions; //所需要的权限,可省略
7. }
表示拦截的 URL 和角色/权限之间的关系,多个角色/权限之间通过逗号分隔,此处还可以扩展其他的关系,另外可以加如
available 属性表示是否开启该拦截。
Service
Java代码
1. public interface UrlFilterService {
2. public UrlFilter createUrlFilter(UrlFilter urlFilter);
3. public UrlFilter updateUrlFilter(UrlFilter urlFilter);
4. public void deleteUrlFilter(Long urlFilterId);
5. public UrlFilter findOne(Long urlFilterId);
6. public ListUrlFilter findAll();
7. }
基本的 URL 拦截的增删改查实现。
Java代码
1. @Service
2. public class UrlFilterServiceImpl implements UrlFilterService {
3. @Autowired
4. private ShiroFilerChainManager shiroFilerChainManager;
5.
6. @Override
7. public UrlFilter createUrlFilter(UrlFilter urlFilter) {
2 / 10
8. urlFilterDao.createUrlFilter(urlFilter);
9. initFilterChain();
10. return urlFilter;
11. }
12. //其他方法请参考源码
13. @PostConstruct
14. public void initFilterChain() {
15. shiroFilerChainManager.initFilterChains(findAll());
16. }
17. }
UrlFilterServiceImpl 在进行新增、修改、删除时会调用 initFilterChain 来重新初始化 Shiro 的 URL 拦截器链,即同步数据
库中的 URL 拦截器定义到 Shiro 中。此处也要注意如果直接修改数据库是不会起作用的,因为只要调用这几个 Service 方法
时才同步。另外当容器启动时会自动回调 initFilterChain 来完成容器启动后的 URL 拦截器的注册。
ShiroFilerChainManager
Java代码
1. @Service
2. public class ShiroFilerChainManager {
3. @Autowired private DefaultFilterChainManager fi
您可能关注的文档
- Primary E disorder.pdf
- Princeton Review - The Best 371 Colleges 2010.pdf
- Princeton Review sat备考资料Cracking the SAT系列-智课教育出国考试.pdf
- presentation on 29 March for wuhu.pdf
- private finance,public roads configuring the supply chain in PFI highway construction.pdf
- Prison Break 15 (English subtitles).pdf
- Prism-based spectrometers tackle today’s miniaturization requirements.pdf
- Pro Tools 9.0 兼容性.pdf
- Probabilistic analysis of multi-site damage in aircraft fuselages.pdf
- Probing Universal Extra Dimensions through rare decays induced by $b to s$ transition.pdf
- ShenZhen Trans Center-宋炯炯.pdf
- Shortest Path Minded SPIN Protocol.pdf
- SI8920晶振手册.pdf
- Side-chain and backbone ordering in Homopolymers.pdf
- Significant Figure 有效数字 科学计数法.pdf
- signs around us.ppt
- Silicone Solutions for Solar Energy-TS S&B-march 2010.pdf
- Silk Fibroin Based Porous Materials.pdf
- Simple proofs for universal binary Hermitian lattices.pdf
- simple-substance.pdf
最近下载
- 芦原义信《外部空间设计》.pdf VIP
- 中考现代文阅读——邓宗良《母亲的叶搭饼》.docx VIP
- 2025年防火涂料项目深度研究分析报告.docx
- CDS2.XwithHPLC操作说明资料.pdf VIP
- Python数据分析及应用 课件 第3、4章 程序的控制结构、函数.pptx
- 2025村道生命防护工程施工组织设计.docx
- 我国隧道盾构掘进机技术的发展现状.doc VIP
- DBJ50_T-460-2023 住房和城乡建设领域数字化企业评价标准(OCR).pdf VIP
- 食材采购配送服务以及售后服务方案.pdf VIP
- 2025年国考行测真题及答案解析(省级与地市级合卷) .pdf VIP
文档评论(0)