一、概念

Shiro是一个安全框架,可以进行角色、权限管理。

Shiro主要功能如下:
Authentication(认证):用户身份识别,通常被称为用户“登录”
Authorization(授权):访问控制。比如某个用户是否具有某个操作的使用权限。
Session Management(会话管理):特定于用户的会话管理,甚至在非web 或 EJB 应用程序。
Cryptography(加密):在对数据源使用加密算法加密的同时,保证易于使用。
二、主要的类

1.Subject:当前用户,Subject可以是一个人,也可以是第三方服务
2.SecurityManager:管理所有Subject,可以配合内部安全组件。

3.principals:身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。一个主体可以有多个principals,但只有一个Primary principals,一般是用户名/密码/手机号。
4.credentials:证明/凭证,即只有主体知道的安全值,如密码/数字证书等。
最常见的principals和credentials组合就是用户名/密码了。

5.Realms:用于进行权限信息的验证,需要自己实现。
6.Realm 本质上是一个特定的安全 DAO:它封装与数据源连接的细节,得到Shiro 所需的相关的数据。
在配置 Shiro 的时候,你必须指定至少一个Realm 来实现认证(authentication)和/或授权(authorization)。
我们需要实现Realms的Authentication
和 Authorization。其中 Authentication 是用来验证用户身份,Authorization
是授权访问控制,用于对用户进行的操作授权,证明该用户是否允许进行当前操作,如访问某个链接,某个资源文件等。

三、Shiro配置

1.Shiro的核心通过过滤器Filter实现。Shiro中的Filter是通过URL规则来进行过滤和权限校验,所以我们需要定义一系列关于URL的规则和访问权限。

2.Spring集成Shiro一般通过xml配置,SpringBoot集成Shiro一般通过java代码配合@Configuration和@Bean配置。

参考博客:

http://www.ityouknow.com/springboot/2017/06/26/springboot-shiro.html

http://jinnianshilongnian.iteye.com/blog/2018936

最新文章

  1. linux mysql 安装配置
  2. AAS代码运行-第4章
  3. LINUX 命令行编辑快捷键
  4. error while loading shared libraries:错误的原因和解决方法
  5. struts2 Demo
  6. 第一篇 Integration Services:SSIS是什么
  7. drupal配置的命名
  8. php抓取页面的几种方法详解
  9. Spring Boot集成Jasypt安全框架
  10. python爬虫抓取豆瓣电影
  11. windows常用net use命令
  12. iOS之Cocoapods安装
  13. Linux后门权限维持手法
  14. MySQL的SQL预处理(Prepared)
  15. 02-Centos7安装部署Mirrorgate
  16. 洛谷 P4148 简单题 解题报告
  17. [软件]Xcode查找系统framework所在路径
  18. Android 6.0 变更
  19. 《DSP using MATLAB》Problem 4.12
  20. C#.NET常见问题(FAQ)-如何强制退出进程

热门文章

  1. 关于poi操作excel我使用的一些修饰操作
  2. 【转】Selenium2 API详解
  3. python 之 多线程、多进程代码
  4. 如何从MTK机器的NVRAM中获取WIFI mac地址
  5. IOS NSBundle的使用,注意mainBundle和Custom Bundle的区别
  6. python 安装psutil包报错:
  7. Ipv4和Ipv6的地址字符串长度
  8. SCSI学习笔记
  9. java的static研究
  10. LINQ to SQL 建立实体类 (转)