shiro web 集成
集成方法
shiro与web集成,主要是通过配置一个ShiroFilter拦截所有URL,其中ShiroFilter类似于SpringMVC的前端控制器,是所有请求入口点,负责根据配置(如ini配置文件),判断请求进入URL是否需要登录/权限等工作。
集成步骤
1、导入相关jar包
2、web.xml配置ShiroFilter以拦截请求
3、配置shiro.int文件
shiro默认的过滤器
这些默认的拦截器会自动注册
| 过滤器简称 | 对应的java类 | 用法 |
anon,authcBasic,auchc,user是认证过滤器 authc 拦截器主要属性: |
| anon | org.apache.shiro.web.filter.authc.AnonymousFilter | 匿名拦截器,即不登陆就可以访问,一般用于静态资源过滤 | |
| authc | org.apache.shiro.web.filter.authc.FormAuthenticationFilter | 需要认证 | |
| authcBasic | org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter | ||
| roles | org.apache.shiro.web.filter.authc.RolesAuthorizationFilter | 角色授权拦截器 | |
| perms | org.apache.shiro.web.filter.authc.PermissionsAuthorizationFilter | 权限授权拦截器 | |
| user | org.apache.shiro.web.filter.authc.UserFilter | ||
| logout | org.apache.shiro.web.filter.authc.LogoutFilter | 退出拦截器 | |
| port | org.apache.shiro.web.filter.authc.PortFilter | 示例“/test=port[80]”,如果用户访问该页面是非80,将自动将请求端口改为80并重定向到该80端口 | |
| rest | org.apache.shiro.web.filter.authc.HttpMethodPermissionFilter | ||
| ssl | org.apache.shiro.web.filter.authc.SslFilter | SSL拦截器,只有请求协议是https才能通过;否则自动跳转会https端口(443) |
在ini配置文件中设置默认拦截器的属性
#如果身份验证没有通过,就跳转到loginUrl指定的页面
authc.loginUrl=/login
#如果用户没有角色,就跳转到unauthorizedUrl指定的页面
roles.unauthorizedUrl=/nopermission.jsp
#如果用户没有权限,就跳转到unauthorizedUrl指定的页面
perms.unauthorizedUrl=/nopermission.jsp #另外如果某个拦截器不想使用了可以直接通过如下配置直接禁用:
#perms.enabled=false
在ini配置文件中设置访问权限

shiro web 集成的更多相关文章
- Shiro Web集成及拦截器机制(四)
Shiro与 Web 集成 Shiro 提供了与 Web 集成的支持,其通过一个 ShiroFilter 入口来拦截需要安全控制的 URL,然后进行相应的控制,ShiroFilter 类似于如 Str ...
- Shiro学习笔记(5)——web集成
Web集成 shiro配置文件shiroini 界面 webxml最关键 Servlet 測试 基于 Basic 的拦截器身份验证 Web集成 大多数情况.web项目都会集成spring.shiro在 ...
- Apache Shiro:【1】Shiro基础及Web集成
Apache Shiro:[1]Shiro基础及Web集成 Apache Shiro是什么 Apache Shiro是一个强大且易于使用的Java安全框架,提供了认证.授权.加密.会话管理,与spri ...
- 2017.2.12 开涛shiro教程-第七章-与Web集成
2017.2.9 开涛shiro教程-第七章-与Web集成(一) 原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. ...
- 第七章 与Web集成——《跟我学Shiro》
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2024723 目录贴:跟我学Shiro目录贴 Shiro提供了与Web集成的支持,其通过一个Sh ...
- (九)shiro之web集成
Url 匹配方式? 匹配一个字符 /admin? 可以匹配/admin1 或者/admin2 但是不能匹配/admin12 或者/admin* 匹配零个或者一个或者多个字符 /admin* 可以匹配 ...
- spring-boot+mybatisPlus+shiro的集成demo 我用了5天
spring-boot + mybatis-plus + shiro 的集成demo我用了五天 关于shiro框架,我还是从飞机哪里听来的,就连小贱都知道,可我母鸡啊.简单百度了下,结论很好上手,比s ...
- 基于spring框架的apache shiro简单集成
关于项目的安全保护,我一直想找一个简单配置就能达到目的的方法,自从接触了shiro,这个目标总算达成了,以下结合我使用shiro的经验,谈谈比较轻便地集成该功能. 首先我们先了解一下shiro是什么. ...
- Shiro - web应用
先不谈Spring,首先试着用最简易的方式将Shiro集成到web应用. 即使用一些Servlet ContextListener.Filter.ini这些简单的配置完成与web应用的集成. web. ...
随机推荐
- MySQl资料链接
原文:http://www.uml.org.cn/sjjm/sjjm-MySql.asp MySQl MySQL高可用数据库内核深度优化的四重定制 MySQL数据表存储引擎类型及特性 My ...
- Python 日期和时间的几种输出格式
在python中,我们可以使用 time 模块的 strftime 方法来格式化日期,例子如下: import time # 格式化成2016-03-20 11:45:39形式 print (time ...
- C# 对象哈希码
FCL的设计者认为,如果能将任何对象的任何实例放到哈希集合中,能带来很多好处.但是这里说一点,还是会存在,哈希码类似的情况,这一点大型网站架构这本书中有介绍,最好做下MD5算法.为此,System.O ...
- Java学习之路(十):异常
---恢复内容开始--- 异常的概述和分类 Throwable类是Java语言中所有错误或者异常的超类(也就是说,Java中所有的报错都是继承与Throwable的),也只有当对象是此类或者此类的子类 ...
- Spring Boot 日志配置
Spring Boot 日志配置 默认日志 Logback: 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很 ...
- Spring 小知识点
一.引入配置文件的方式: 方式一: <context:property-placeholder location="classpath:jdbc.properties,classpat ...
- 【数组】Remove Duplicates from Sorted Array II
题目: Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For ex ...
- js函数技巧
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 机器学习--boosting家族之Adaboost算法
最近在系统研究集成学习,到Adaboost算法这块,一直不能理解,直到看到一篇博文,才有种豁然开朗的感觉,真的讲得特别好,原文地址是(http://blog.csdn.net/guyuealian/a ...
- Apache POI导出excel
public String exportXls(HttpServletRequest request, HttpServletResponse response) { try { HSSFWorkbo ...