集成方法

  shiro与web集成,主要是通过配置一个ShiroFilter拦截所有URL,其中ShiroFilter类似于SpringMVC的前端控制器,是所有请求入口点,负责根据配置(如ini配置文件),判断请求进入URL是否需要登录/权限等工作。


集成步骤

  1、导入相关jar包
  2、web.xml配置ShiroFilter以拦截请求
  3、配置shiro.int文件


shiro默认的过滤器

这些默认的拦截器会自动注册

过滤器简称  对应的java类 用法

anon,authcBasic,auchc,user是认证过滤器
perms,roles,ssl,rest,port是授权过滤器

authc 拦截器主要属性:
usernameParam ----> 表单提交的用户名参数名(username)
passwordParam ----> 表单提交的密码参数名(password)
rememberMeParam ----> 记住我(rmemberMe)
loginUrl ----> 登陆页面地址(/login.jsp)
successUrl ----> 登陆成功后默认的重定向地址
failureKeyAttribute ----> 登陆失败后错误信息存储key(shiroLoginFailure)

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配置文件中设置默认拦截器的属性

  1. #如果身份验证没有通过,就跳转到loginUrl指定的页面
  2. authc.loginUrl=/login
  3. #如果用户没有角色,就跳转到unauthorizedUrl指定的页面
  4. roles.unauthorizedUrl=/nopermission.jsp
  5. #如果用户没有权限,就跳转到unauthorizedUrl指定的页面
  6. perms.unauthorizedUrl=/nopermission.jsp
  7.  
  8. #另外如果某个拦截器不想使用了可以直接通过如下配置直接禁用:
  9. #perms.enabled=false 

在ini配置文件中设置访问权限

shiro web 集成的更多相关文章

  1. Shiro Web集成及拦截器机制(四)

    Shiro与 Web 集成 Shiro 提供了与 Web 集成的支持,其通过一个 ShiroFilter 入口来拦截需要安全控制的 URL,然后进行相应的控制,ShiroFilter 类似于如 Str ...

  2. Shiro学习笔记(5)——web集成

    Web集成 shiro配置文件shiroini 界面 webxml最关键 Servlet 測试 基于 Basic 的拦截器身份验证 Web集成 大多数情况.web项目都会集成spring.shiro在 ...

  3. Apache Shiro:【1】Shiro基础及Web集成

    Apache Shiro:[1]Shiro基础及Web集成 Apache Shiro是什么 Apache Shiro是一个强大且易于使用的Java安全框架,提供了认证.授权.加密.会话管理,与spri ...

  4. 2017.2.12 开涛shiro教程-第七章-与Web集成

    2017.2.9 开涛shiro教程-第七章-与Web集成(一) 原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. ...

  5. 第七章 与Web集成——《跟我学Shiro》

    转发地址:https://www.iteye.com/blog/jinnianshilongnian-2024723 目录贴:跟我学Shiro目录贴 Shiro提供了与Web集成的支持,其通过一个Sh ...

  6. (九)shiro之web集成

    Url 匹配方式? 匹配一个字符 /admin? 可以匹配/admin1 或者/admin2 但是不能匹配/admin12 或者/admin* 匹配零个或者一个或者多个字符 /admin* 可以匹配 ...

  7. spring-boot+mybatisPlus+shiro的集成demo 我用了5天

    spring-boot + mybatis-plus + shiro 的集成demo我用了五天 关于shiro框架,我还是从飞机哪里听来的,就连小贱都知道,可我母鸡啊.简单百度了下,结论很好上手,比s ...

  8. 基于spring框架的apache shiro简单集成

    关于项目的安全保护,我一直想找一个简单配置就能达到目的的方法,自从接触了shiro,这个目标总算达成了,以下结合我使用shiro的经验,谈谈比较轻便地集成该功能. 首先我们先了解一下shiro是什么. ...

  9. Shiro - web应用

    先不谈Spring,首先试着用最简易的方式将Shiro集成到web应用. 即使用一些Servlet ContextListener.Filter.ini这些简单的配置完成与web应用的集成. web. ...

随机推荐

  1. js02--对象、函数、switch、for、异常、表单验证

    现在我们接着来继续学习有关js的一些基础. 1.undefined与null    undefined:当变量声明但尚未赋值时,它的类型就是undefined    null:表示一个不存在的对象,它 ...

  2. python的强制转换(当出现 not supported between instances of 'str' and 'int' 的错误时)

    当我们编程时,有时会出现如下错误:TypeError: '>' not supported between instances of 'str' and 'int' 如下图: 这是因为input ...

  3. Vue中使用children实现路由的嵌套

    Vue中使用children实现路由的嵌套 相关Html: <!DOCTYPE html> <html lang="en"> <head> &l ...

  4. Python基础语法——(引号、字符串、长字符串、原始字符串、Unicode)

    一.单引号字符串和转义引号 当字符串中出现单引号'时,我们可以用双引号""将该字符串引起来:"Let's go!" 而当字符串中出现双引号时,我们可以用单引号' ...

  5. 代码阅读——十个C开源项目

    1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连 ...

  6. 使用python遍历文件夹取出特定的字符串

    # -*- coding: utf-8 -* import re import os # 需要处理的文件夹路径(绝对路径) path = u"/Users/a140/Downloads/te ...

  7. CFLAGS CPPFLAGS CPPFLAGS 区别

    CPPFLAGSC预处理器参数.( C 和 Fortran 编译器也会用到). CXXFLAGSC++语言编译器参数. CFLAGSC语言编译器参数.

  8. 共识算法:Paxos

    两阶段提交 Two-phase Commit(2PC):保证一个事务跨越多个节点时保持 ACID 特性: 两类节点:协调者(Coordinator)和参与者(Participants),协调者只有一个 ...

  9. FindBugs:Java 静态代码检查

    在使用 Jenkins 构建 Java Web 项目时候,有一项叫做静态代码检查,是用内置的 findBugs 插件,对程序源代码进行检查,以分析程序行为的技术,应用于程序的正确性检查. 安全缺陷检测 ...

  10. Vue前端框架面试问题

    1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答 ...