一、什么是shiro
(1)属性:java框架
(2)用途:身份验证、用户授权、加密、会话管理
(3)优点:轻量、易用


二、三大组件
(1)subject:代表当前主体,与当前应用交互的任何东西都是subject;
(2)SecurityManager :安全管理器,所有有关安全的操作均与此有关。是shiro核心,负责与其他组件交互。
(3)Realms:域。Shiro 从 Realm 获取安全数据(如用户、角色、权限),就是说 SecurityManager 要验证用户身份,那么它需要从 Realm 获取相应的用户进行比较以确定用户身份是否合法,也需要从 Realm 得到用户相应的角色/权限进行验证用户是否能进行操作。
举个例子:

小明,小红、小强和小刚买火车票回家,此时整个火车站(包括售票机,工作人员,火车)都属于subject,与用户进行交互。
进入火车站时需要检票,检票人员需要核对票的有效性,发现小刚的票是假的,就拒绝他进入。核票时,需要从数据库获取信息,此时数据库就是域,用于提供用户信息。
进入候车厅后,小强突然大发雷霆,随意伤人,被巡逻的安保人员扣下。此时安保人员充当SecurityManager ,用来控制操作安全。


三、其他组件
Authenticator:认证器,用于用户身份确认。相当于检票人员。
Authorizer:授权器,用于判断用户是否有权限操作。比如,小红是一等座,小明是无座,小明若是强行占座,就会被抓起来。
Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;小明到站后,再想上火车,就必须再买票检票。
Cryptography:加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储;火车票上的信息都会进行加密处理,防止坏人获取。
CacheManager:缓存管理,将用户权限数据存储在缓存,这样可以提高性能。列车员会进行用户登记,登记过一次后就不再查票了。
Cryptography即密码管理,shiro提供了一套加密/解密的组件,方便开发。比如提供常用的散列、加/解密等功能。比如火车票上的二维码,扫码时可以获取当前车次信息。

shiro(1) 介绍的更多相关文章

  1. Apache shiro集群实现 (一) shiro入门介绍

    近期在ITOO项目中研究使用Apache shiro集群中要解决的两个问题,一个是Session的共享问题,一个是授权信息的cache共享问题,官网上给的例子是Ehcache的实现,在配置说明上不算很 ...

  2. Apache Shiro 使用手册(一)Shiro架构介绍 - kdboy - ITeye技术网站

    转载 原文地址 http://kdboy.iteye.com/blog/1154644 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理 ...

  3. Apache Shiro 使用手册(一)Shiro架构介绍

    一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能:  认证 - 用户身份识别,常被称为用户"登录": 授权 - ...

  4. Shiro笔记(一)Shiro整体介绍

    介绍:是一个java的安全(权限)框架 可以完成的功能:认证登录(Authentication).授权(Authorization).加密(cryptography).会话管理(session man ...

  5. Apache Shiro 使用手册(一)Shiro架构介绍(转发:http://kdboy.iteye.com/blog/1154644#bc2399255)

    一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户“登录”: 授权 - 访问控制: 密码加密 ...

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

    Shiro是什么 http://shiro.apache.org/ Apache Shiro是一个非常易用的Java安全框架,它能提供验证.授权.加密和Session控制.Shiro非常轻量级,而且A ...

  7. shiro 授权介绍

    授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限.如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限,以及是否拥有打印的权限等等. 一.授权的三要素 授权有着三个 ...

  8. Apache Shiro简单介绍

    1. 概念 Apache Shiro 是一个开源安全框架,提供身份验证.授权.密码学和会话管理.Shiro 框架具有直观.易用等特性,同时也能提供健壮的安全性,虽然它的功能不如 SpringSecur ...

  9. Shiro 简单介绍和快速入门。

    一.shiro是啥? /* * Shiro ? 安全框架是一个 1.功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理,并可用于保护任何应用程序 - 从命令行应用程序,移动应用 ...

随机推荐

  1. json数据处理:读取文件中的json字符串,转为python字典

    方法1: 读取文件中的json字符串, 再用json.loads转为python字典 import json str_file = './960x540/config.json' with open( ...

  2. 统计词语频率保存到xls

    import json import jieba.analyse as anl import xlwt # 获取待统计的文本内容 # 打开文件 f = open('zhilian.json', 'r' ...

  3. SQL Server表分区-水平分区

    SQL Server表分区,sql server水平分区 转自:http://www.cnblogs.com/knowledgesea/p/3696912.html  根据时间的,直接上T-SQL代码 ...

  4. 【剑指offer】用两个栈实现队列

    一.题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 二.思路: 两个栈A,B,A负责进栈,B负责出栈,进栈很容易,A中添加即可,出栈需要从B里出,所以要先 ...

  5. abap 基本知识

    sap gui 安装教程:http://www.itpub.net/forum.php?mod=viewthread&tid=2090890 1:abap 基本数据类型: i(整型),f(浮点 ...

  6. react native 示例代码

    https://react.rocks/tag/ReactNative?show=60 https://github.com/ReactNativeNews/React-Native-Apps

  7. ajax课2JSON

    1.ajax优点: a.页面无刷新 b.用户体验度较好,不会打断用户操作 c.按需求获取数据,不需要返回一个完整的页面 d.是标准的技术,不需要安装任何的插件 应用场景:注册.表格数据的增删改 2.J ...

  8. linux系统安装 dig和nslookup命令

    Fedora / Centos:1.yum install bind-utils Ubuntu: 1.sudo apt-get install dnsutils Debian: 1.2 apt-get ...

  9. easyDialog参数配置说明

    easyDialog不依赖框架,使用起来很简单,只要引入easydialog.js文件就可以使用了: // 引入easyDialog <script src="easydialog.j ...

  10. 20145316许心远《网络对抗》EXP8 Web基础

    实验后回答问题 什么是表单 来自百度百科的官方定义:表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. ...