Shiro详解
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路径通配符支持?、*、**,注意通配符匹配不包括目录分隔符"/":
- — ?:匹配一个字符,如/admin?将匹配admin1,但不匹配/admin或/admin/;
- — *:匹配零个或多个字符串,如/admin将匹配/admin、/admin123,但不匹配/admin/1;
- — **:匹配路径中的零个或多个路径,如/admin/**将匹配/admin/a或/admin/a/b
URL匹配顺序
- URL权限采取第一次匹配优先的方式,即从头开始使用第一个匹配的url模式对应的拦截器链。
- 如:
- — /bb/** = filter1
- — /bb/aa = filter2
- — /** = filter3
— 如果请求的url是"/bb/aa",因为按照声明顺序进行匹配,那么将使用filter1进行拦截。
Shiro详解的更多相关文章
- 关于 Apache Shiro 详解
1.1 简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...
- 权限框架之Shiro详解(非原创)
文章大纲 一.权限框架介绍二.Shiro基础介绍三.Spring Boot整合Shiro代码实战四.项目源码与资料下载五.参考文章 一.权限框架介绍 1. 什么是权限管理 权限管理属于系统安全 ...
- 转:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法、shiro认证与shiro授权
原文地址:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法.shiro认证与shiro授权 以下是部分内容,具体见原文. shiro介绍 什么是shiro shiro是Apache ...
- Shiro的Filter机制详解---源码分析
Shiro的Filter机制详解 首先从spring-shiro.xml的filter配置说起,先回答两个问题: 1, 为什么相同url规则,后面定义的会覆盖前面定义的(执行的时候只执行最后一个). ...
- Shiro 登录认证源码详解
Shiro 登录认证源码详解 Apache Shiro 是一个强大且灵活的 Java 开源安全框架,拥有登录认证.授权管理.企业级会话管理和加密等功能,相比 Spring Security 来说要更加 ...
- Freemarker 的 Shiro 标签使用详解
一.引入依赖(已解决版本冲突) <!-- shiro-freemarker-tags start --> <dependency> <groupId>net.min ...
- 2017.2.13 开涛shiro教程-第十二章-与Spring集成(一)配置文件详解
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十二章-与Spring集成(一)配置文件详解 1.pom.xml ...
- (转) shiro权限框架详解06-shiro与web项目整合(上)
http://blog.csdn.net/facekbook/article/details/54947730 shiro和web项目整合,实现类似真实项目的应用 本文中使用的项目架构是springM ...
- Shiro的Filter机制详解---源码分析(转)
Shiro的Filter机制详解 首先从spring-shiro.xml的filter配置说起,先回答两个问题: 1, 为什么相同url规则,后面定义的会覆盖前面定义的(执行的时候只执行最后一个). ...
随机推荐
- 关于dropout的有趣的进化论解释
训练神经网络时,使用dropout技术来防止网络的过拟合.我们这里且不谈这个技术的细节,但就这项技术的有趣的生物进化论解释了解下.自然界的高等生物进化出了两性繁殖,其原因可以解释为使得变异的基因能散播 ...
- Zookeeper学习
http://www.cnblogs.com/caosiyang/archive/2012/11/09/2763190.html http://www.cnblogs.com/haippy/tag ...
- 【转】IntelliJ IDEA中文乱码问题
1.首先是编辑器的乱码,这个很好解决,file->settings->appearence里面有个Name设置成支持中文的字 体(这个很重要) 同样还要再settings中的Eidtor- ...
- Intent里ACTION的CALL和DIAL的区别?
Intent在进行activity之间的跳转的时候有一种方式是通过设置ACTION的方式来进行跳转的,这个ACTION是设置在manifest文件里Intent-filter里的,我们可以通过跳转自定 ...
- WPF MVVM UI分离之《交互与数据分离》
在我们使用WPF过程中,不可避免并且超级喜欢使用MVVM框架. 那么,使用MVVM的出发点是视觉与业务逻辑分离,即UI与数据分离 诸如下面的问题: 删除操作,假如需要先执行一部分数据的处理,然后删除界 ...
- 在Ubuntu16.04上配置.Net Core 2 环境
一.安装.Net Core SDK 按照官方文档,执行以下命令安装SDK curl https://packages.microsoft.com/keys/microsoft.asc | gpg -- ...
- 关于如何给<input type="date">设置默认当前日期的方法 和 给table固定宽度
var ddd = new Date(); var day =ddd.getDate(); if(ddd.getMonth()<10){ var month = "0"+(d ...
- document_index_data.go
package types type DocumentIndexData struct { // 文档全文(必须是UTF-8格式),用于生成待索引的关键词 Content string ...
- 【小白学C#】浅谈.NET中的IL代码
一.前言 前几天群里有位水友提问:”C#中,当一个方法所传入的参数是一个静态字段的时候,程序是直接到静态字段拿数据还是从复制的函数栈中拿数据“.其实很明显,这和方法参数的传递方式有关,如果是引用传递的 ...
- 【Canal源码分析】parser工作过程
本文主要分析的部分是instance启动时,parser的一个启动和工作过程.主要关注的是AbstractEventParser的start()方法中的parseThread. 一.序列图 二.源码分 ...
