Shiro入门教程(一):Shiro简介
一、什么是Shiro框架
很久不见,今天我们来一起学习个安全框架。
Shiro是Apache组织下的一个强大的、灵活的、开源的安全框架,常常用来做:安全认证、权限管理、Session管理、加密。
官网:http://shiro.apache.org/introduction.html
Shiro常用作:安全认证、权限控制、会话管理、加密。 |
二、Shiro能做什么
Shrio最大的特点就是简单。安全控制往往给人的感觉是复杂、头疼的,但是如果有一个框架能够将其复杂的逻辑进行封装,提供一个简洁的API给对开发者,这对于开发者来说,是一件非常友好的事情,而Shiro刚好做到了这一点。其主要能够完成以下工作:
用户身份认证
用户权限控制
在任意环境下进行Session管理,即使没有EJB容器
对身份认证,权限控制,Sesssion管理中的事件进行响应
整合一个或多个数据源,以一种单个复合视图的形式进行呈现
实现单点登录
实现“Remember Me”来进行免登录
…
Shrio提供了一系列综合性的、高度内聚的API接口。 |
三、Shiro的特点
Shiro是一个综合性的安全框架,
用官方的一张图来概括Shrio的特点最合适不过:
shiro的目标是实现应用安全的四大基石——“身份验证、权限控制、会话管理和加密”。这也是其最大的四个特性:
一、Authentication:身份认证 |
身份认证最简单的理解就是登陆,它是用户表明身份的体现。
二、Authorization:权限控制 |
即授权的过程,可以理解为谁拥有做什么的权力。
三、Session Management:会话管理 |
管理Session,学过javaWeb对这个最熟悉不过。
四、Cryptography:加密 |
shrio底层使用加密算法,使得数据加密变得很容易。
五、其他 |
当然这里还有一些其他的特点,
Web Support:Shrio对Web API的支持使其安全管理变得更加轻松。
Caching:使用缓存,保证了Shrio能够高效的运行。
Concurrency:并发性,Shrio具有支持多线程并发的特点。
Testting:Shrio提供了单元测试与集成测试。
Run As:Shrio使得一个用户可以冒充另一个用户的身份(如果允许),有时在一些在管理情景上很实用。
Remember Me:记住用户在会话中的身份,类比javaWeb中session与cookie的身份认证。