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规则,后面定义的会覆盖前面定义的(执行的时候只执行最后一个). ...
随机推荐
- Java程序算法设计视频分享,需要的来
每年都会有人说,IT行业饱和了,根本就找不到工作,其实,我想说的是,不是工作难找,而是你自己不够好! 前几天看到一CEO在微博上吐槽: 前几天招一算法工程师我们给了8万月薪*14+奖金,人家去阿里拿5 ...
- 【问题】sql数据库报无效的数据证书,需重新安装
事情的经过: 今天打开sql2014数据库,没有成功运行,但是给我弹出一个"无效的数据证书,需要重新安装!"提示.什么情况.为什么,应该是前一天弄vs导致的.因为升级了vs2017 ...
- CAS与OAuth2的区别
CAS与OAuth2的区别 一. CAS的单点登录时保障客户端的用户资源的安全 . OAuth2则是保障服务端的用户资源的安全 . 二. CAS客户端要获取的最终信息是,这个用户到底有没有权限访问我( ...
- DX11 Without DirectX SDK--使用Windows SDK来进行开发
在看龙书(Introduction to 3D Game Programming with Directx 11)的时候,里面所使用的开发工具包为Microsoft DirectX SDK(June ...
- TCP连接和 time_wait、close_waite
TCP连接和 time_wait.close_waite tags:time_wait close_waite RST TCP 引言:前两天朋友公司的服务器垮掉了,最后查出的原因是发现大量的time_ ...
- JDK安装遇见的问题及解决方案
问题描述: Jdk安装完成后从新启动电脑,打开eclipse报找 不到JRE或JDK,在cmd中输入 java -version 也不显示JDK信息. 后把JDK配置的环境变量path的JAVA_H ...
- mysql SQL Layer各个模块介绍
https://blog.csdn.net/cymm_liu/article/details/45821929
- 使用非阻塞ServerSocketChannel、SocketChannel代替ServerSocket和Socket
http://blog.csdn.net/timliang18601860/article/details/7104485
- Sequel自动生成Select语句
Sequel 是 Mac 上的一款不错的 mysql 可视化编辑, 它有一个非常好的功能是可以定制自己的插件, 这就是Bundles. 利用这个功能可以写出自己常用的一些sql. 查询语句是最常用的, ...
- 2017年Kali Linux更新源
终端输入: leafpad /etc/apt/sources.list 打开更新源配置文件,将下面的更新源复制到原内容的前面: #163网易 Kali源 deb http://mirrors.163. ...