了解权限控制框架shiro 之实际应用.

  Apache Shiro

1.权限控制分为 a.粗粒度 URL 级别权限控制

          b.细粒度方法级别权限控制

2.使用shiro进行权限控制主要有四种主要方式 :
  a、 在程序中 通过 Subject 编程方式进行权限控制
  b、 配置 Filter 实现 URL 级别粗粒度权限控制
  c、 配置代理,基于注解实现细粒度权限控制
  d、 在页面中使用 shiro 自定义标签实现 页面显示权限控制

3.shiro实际应用之基本配置:
  a.用父工程引入shiro

  b.配置web.xml

  c.配置applicationContext-shiro.xml

  d.配置安全管理器

  

搞定使用shiro之前所必须的基本配置后还需要了解 Shiro 的执行流程:   

  应用程序 --- Subject --- SecurityManager --- Realm 安全数据

自定义 Realm 对象,实现认证方法:

  a.自定义 Realm 实现 Realm 接口 (实际开发中,只需要继承 AuthorizingRealm )

  b.将自定义 Realm 注入安全管理器 SecurityManager 当中

实现认证和授权方法.

4.对页面部分功能添加权限和角色需要

5. Apache Shiro 权限控制(小结)

第一种: URL 级别粗粒度权限控制
配置 web.xml 的 shiroFilter 拦截 /*
在 spring 的 applicationContext*.xml 配置文件中配置同名 bean,配置
filterChainDefinitions 拦截控制规则
xxx.html* = anon (未登录可以访问)
xxx.html* =authc (必须登录才能访问 )
xxx.html* = perms[权限] (需要特定权限才能访问)
xxx.html* = roles[角色] (需要特定角色才能访问 )

第二种: 方法级别细粒度权限控制
在 spring 的 applicationContext*.xml 配置 spring aop 对 spring 管理 bean 对象开启 shiro
注解支持
@RequiresPermissions(权限) 需要特定权限才能访问
@RequiresRoles(角色) 需要特定角色才能访问
@RequiresAuthentication 需要认证才能访问

第三种:通过 shiro 自定义标签,实现页面元素显示控制
<shiro:authenticated> 登录后才能访问
<shiro:hasPermission name="abc"> 需要特定权限才能访问
<shiro:hasRole name="abc"> 需要特定角色才能访问

第四种:在程序中通过代码 判断用户是否具有指定权限(不太常用 ,有代码侵入 )

补充: 权限表达式 “:”代表子权限
权限 courier 包含 courier:add、 courier:list、 courier:* ,如果用户具有父权限,操作
所有子权限功能
权限 courier:list 包含 courier:list:10

/**
* @author: Mr.shan
* @creationTime:2017.12.3
*/

时间: 2024-10-29 02:59:03

了解权限控制框架shiro 之实际应用.的相关文章

权限控制框架Shiro简单介绍及配置实例

Shiro是什么 Apache Shiro是一个非常易用的Java安全框架它能提供验证.授权.加密和Session控制.Shiro非常轻量级而且API也非常易于理解可以使用Shiro完成从APP到企业级应用的所有权限控制. 宏观视图 从宏观来看Shiro架构中有3个重要概念Subjct.SecurityManager和Realms. Subject Subject实际上是正在执行的用户的抽象"用户"这里可以指自然人第三方服务代理账户或者其他. Subject被绑定在SecurityMa

Shiro权限控制框架入门1:Shiro的认证流程以及基本概念介绍

前言:我在最开始学习Shiro这个框架时,在网上搜索到的一个介绍比较全面的教程是:<跟我学Shiro>系列教程.但是在我看了他写的前几篇文章后,我发现虽然他在这个系列教程中把shiro的一些特性介绍地非常全面详细,但是整个教程的叙述方式还是有很大缺陷的.文章与文章之间并没有很好地串联起来,每篇文章介绍的东西都过于分散了,如果是对shiro完全不了解的新手来看的话完全是一场噩梦.就像一个网友评价的这样: 看了看这个教程,看完之后都想放弃shiro了,完全看不懂,后来百度了很多别的资料才理解了sh

erp权限验证框架Shiro

  权限验证框架Shiro Shiro简介 1.1. 什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证(Authentication):用户身份识别,常被称为用户"登录",判断用户是否登陆,如果未登陆,则拦截其请求 授权(Authorization):访问控制.当用户登陆后,判断其身份是否有权限访问相应的资源,如果没有权限则拦截 密码加密(Cryptography):保护或隐藏数据防止被偷窃.将MD5进行二次封装

权限控制框架

基本概念 权限系统设计模型分析(DAC,MAC,RBAC,ABAC) 权限控制和OAuth How is OAuth 2 different from OAuth 1? Oauth 1.0,1.0a 和 2.0 的之间的区别有哪些? 几类框架 shiro 极客学院-跟我学 Shiro 或 W3Cschool-跟我学 Shiro,两者内容一样,挑一个看着顺眼的学习即可30分钟学会如何使用Shiro spring security 使用 Spring Security 保护 Web 应用的安全适合初

shiro框架的四中权限控制方式

一.在自定义的realm中进行权限控制 在applicationContext.xml文件中添加  /areaAction_pageQuery.action = perms["area"] <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <!-- 注入shiro框架核心对象,安全管理器 --> <pr

springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

项目结构: 1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <dependency>     <groupid>javax.servlet</groupid>     javax.servlet-api</artifactid>     <version>3.0.1</version>

shiro进行权限控制的四种方式

```我们使用shiro进行权限控制 有以下几种方式 1. URL拦截权限控制:基于filter过滤器实现 我们在spring配置文件中配置shiroFilter时配置 <!--指定URL级别拦截策略 --> <property name="filterChainDefinitions"> <value> /css/ = anon /js/ = anon /images/ = anon /validatecode.jsp = anon /login.

项目一:第十二天 1、常见权限控制方式 2、基于shiro提供url拦截方式验证权限 3、在realm中授权 5、总结验证权限方式(四种) 6、用户注销7、基于treegrid实现菜单展示

1 课程计划 1. 常见权限控制方式 2. 基于shiro提供url拦截方式验证权限 3. 在realm中授权 4. 基于shiro提供注解方式验证权限 5. 总结验证权限方式(四种) 6. 用户注销 7. 基于treegrid实现菜单展示 2 常见的权限控制方式 2.1 url拦截实现权限控制 shiro基于过滤器实现的   2.2 注解方式实现权限控制 底层:代理技术     3 基于shiro的url拦截方式验权   <!-- 配置过滤器工厂 --> <bean id="

基于JSP的教学大纲与进度在线管理系统-java教学大纲与进度管理系统shiro权限控制

基于JSP的教学大纲与进度在线管理系统-java教学大纲与进度管理系统shiro权限控制 1.包含源程序,数据库脚本.2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善.开发环境:Eclipse ,MySQL 5.1,JDK1.7,Tomcat 7涉及技术点:MVC模式.JavaWeb.JDBC.HTML.CSS.JQUERY.shiro.文件上传.购物车等. 系统没用任何框架,前台纯JSP实现,后台servlet映射,适合刚学习J2EE的新手,代码思路清晰,注解详细,数据库用的是mysq