第一章 Shiro简介(学习笔记)
2018-06-18 02:30:45来源:未知 阅读 ()
最近闲来无事,打算写几篇博客,整理整理技术点,工作了好几年一篇博客都没写过,惭愧的很啊
思来想去也不知道写点啥,突然想起之前跟朋友聊天聊起过Shiro 以及JWT ,正好我对Shiro不是很熟悉,在系统的学习一遍,
注:我是参照着开涛大神的博客写的,目的就是学习
Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。而且Shiro的API也是非常简单;
其基本功能点如下图所示:
Authentication:身份认证/登录,验证用户是否有相应的权限
Authorization:授权,即验证用户,验证某个用户是否拥有某个权限 ,验证用户是否有某个角色等等
Session Management:会话管理,即用户登录后就是一次会话,没有退出,他所有的信息都保留在会话中
Cryptography:加密,保护数据安全性,如:密码加密保存到数据库
Web Support:Web支持,可以非常容易的集成到Web环境
Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率
Concurrency:shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去
Testing:提供测试支持
Run As :允许一个用户假装另一个用户
Remember Me : 记住我,这次登录 下次就不用登录了
首先,我们从外部来看Shiro吧,即从应用程序角度的来观察如何使用Shiro完成工作。如下图:
Subject:主体,代表了当前用户,也可以说与当前交互的都是Subject,Subject所有的交互都会给Shiro SecurityManager
Shiro SecurityManager:安全管理器,所有的安全操作都会与Shiro SecurityManage交互,它管理着所有Subject、且负责进行认证和授权、及会话、缓存的管理。
Realm:域,Shrio从Realm获取安全数据(用户,角色,权限),Shiro SecurityManage 需要验证用户身份需要从Realm 中获取,
相当于DataSource 数据源
接下来我们来从Shiro内部来看下Shiro的架构,如下图所示:
Session DAO: 在Session DAO中可以使用Cache 进行缓存,提高性能
Shiro 框架已经组件就是这些,下面我们挨着来学吧
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java 简介 2020-06-09
- 黑菜菌的JAVA学习笔记 2020-06-09
- JAVA8 Stream流 2020-06-02
- Redis入门实战(1)-简介 2020-05-31
- 微服务项目持续集成部署流程简介 2020-05-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash