Apache Shiro系列一,概述 —— 初识
一、什么是Shiro
Apache Shiro是一个强大、灵活、开源的安全框架,它支持用户认证、权限控制、企业会话管理以及加密等。
Apache Shiro的第一个也是最重要的一个目标就是易于使用和理解。对应用程序做安全管理常常很复杂,甚至很痛苦,但是实际上完全可以避免。一个好的安全安全管理框架应该能够将复杂度隐藏在框架内部,对外提供简洁、直观的API,以便用户可以很简单的给应用添加安全控制。
下面是Apache Shiro能够提供给我们的一些特性:
#,做用户身份认证;
#,做访问权限控制,比如:
#,这个用户是否被赋予了某个角色;
#,这个用户是否有权限做某件事情;
#,可以在任何环境下使用用户会话管理,即便没有web或者ejb容器也可以;
#,可以整合多种类型的用户权限数据(比如关系数据库、LDAP等)到一个用户视图界面;
#,支持单点登录(Single Sign On SSO);
#,支持 记住秘密 服务。
Shiro尽力为各种应用程序的环境来达成以上的目标——从简单的命令行程序到大型企业应用,不要求支持任何第三方的框架、容器或者应用服务器。当然,Shiro会尽力与这些环境集成,但是Shiro的运行绝对不会依赖于这些环境。
二、Apache Shiro的特性
Shiro的特性很多,下图展示了Shiro的架构,从中我们可以了解到Shiro聚焦在哪里,并且我们这个系列的文档也是按照类似的结构来组织。

Shiro聚焦与应用程序安全领域的四大基石:认证、授权、会话管理和保密。
#,认证,也叫作登录,用于验证用户是不是他自己所说的那个人;
#,授权,也就是访问控制,比如用于决定“谁”是否有权限访问“什么”;
#,会话管理,管理用户相关的会话,即使在非web和ejb的环境下也支持;
#,保密,使用特性加密算法来保证用户数据的安全性,同时还要保证用起来够简单;
同时Shiro还提供了其他特性来在不同的应用程序环境下使用强化以上的四大基石:
#,Web支持:Shiro的web相关的API简化了web应用安全控制;
#,缓存,在Shiro中,缓存是一等公民,用于保证用户认证和权限控制的性能;
#,测试,支持可测试性,以便用户可以方便的对安全相关代码编写单元测试和集成测试;
#,记住密码,可以跨会话的记住用户的身份信息,以便只有在一些强制性的场合才需要登录。
Apache Shiro系列一,概述 —— 初识的更多相关文章
- Apache Shiro系列三,概述 —— 10分钟入门
一.介绍 看完这个10分钟入门之后,你就知道如何在你的应用程序中引入和使用Shiro.以后你再在自己的应用程序中使用Shiro,也应该可以在10分钟内搞定. 二.概述 关于Shiro的废话就不多说了 ...
- Apache Shiro系列之五,概述 —— 配置
Shiro设计的初衷就是可以运行于任何环境:无论是简单的命令行应用程序还是复杂的企业集群应用.由于运行环境的多样性,所以有多种配置机制可用于配置,本节我们将介绍Shiro内核支持的这几种配置机制. ...
- Apache Shiro系列四,概述 —— Shiro的架构
Shiro的设计目标就是让应用程序的安全管理更简单.更直观. 软件系统一般是基于用户故事来做设计.也就是我们会基于一个客户如何与这个软件系统交互来设计用户界面和服务接口.比如,你可能会说:“如 ...
- Apache Shiro系列(1)
Apache Shiro是啥呢,安全框架. 360百科是这么描述的: Apache Shiro(日语"堡垒(Castle)"的意思)是一个强大易用的Java安全框架, ...
- Apache Shiro系列教程之二:十分钟上手Shiro
在本教程中,我们会写一个简单的.仅仅输出一些内容命令行程序,从而对Shiro有一个大体的感觉. 一.准备工作 本教程需要Java1.5+,并且我们用Maven生成项目,当然Maven不是必须的,你也可 ...
- Apache Shiro系列二,概述 —— 基本概念
做任何事情,首先要双方就一些概念的理解达成一致,这样大家就有共同语言,后续的沟通效率会高一些. #,Authentication,认证,也就是验证用户的身份,就是确定你是不是你,比如通过用户名.密码的 ...
- Apache Shiro系列教程之三:Shiro的结构
Shiro的设计目标是简化应用的安全管理工作.软件通常是以用户为基础设计的.也就是说,我们经常是根据用户是怎样和我们的软件交互的来设计相关的用户接口.比如,你可能会说"如果是已经登录的用户与 ...
- JAVAEE——BOS物流项目10:权限概述、常见的权限控制方式、apache shiro框架简介、基于shiro框架进行认证操作
1 学习计划 1.演示权限demo 2.权限概述 n 认证 n 授权 3.常见的权限控制方式 n url拦截权限控制 n 方法注解权限控制 4.创建权限数据模型 n 权限表 n 角色表 n 用户表 n ...
- Apache Shiro(一)-登录认证和权限管理初识
What is Apache Shiro? Apache Shiro是一个功能强大.灵活的,开源的安全框架.它可以干净利落地处理身份验证.授权.企业会话管理和加密. Apache Shiro的首要目标 ...
随机推荐
- 文章转载利用border、transparent实现微风
微风效果预览 微风源码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- jQuery常用方法和函数
jQuery 事件 bind() 方法:被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数 $(selector).bind({event:function, event:function ...
- highCharts提示框不显示的问题
使用HighCharts插件进行数据展示的时候,鼠标放在数据处没有提示框,或者只有头尾2个提示框,其他提示框不显示,为什么会这样? 1.查看是否使用了tooltip属性,该属性的enabled默认为t ...
- jQuery实用小技巧--输入框文字获取和失去焦点
<input id="txt" class="text1" type="text" /> <script src=& ...
- 『SharePoint』Content Editor Webpart不能添加引用_layouts下面的文件
好久没写了,最近没怎么学到新东西,倒是犯了一个很常见的错误,那就是试图在content editor webpart中添加位于_layouts下面的一个txt文件,虽然这个txt中只是几行简单的htm ...
- jeecg环境搭建20160707
1.首页修改位置:src/main/webapp/webpage/main 2.tomcat45秒超时启动修改,open打开servers项目,在右上角处的timeouts参数修改: 3.eclips ...
- IOS开发基础知识--碎片40
1:Masonry快速查看报错小技巧 self.statusLabel = [UILabel new]; [self.contentView addSubview:self.statusLabel]; ...
- React Native知识4-Image组件
一个用于显示多种不同类型图片的React组件,包括网络图片.静态资源.临时的本地图片.以及本地磁盘上的图片(如相册)等 一:属性 1:onLayout function 当元素挂载或者布局改变的时候调 ...
- iOS RESideMenu 侧滑 第三方类库
下载地址:https://github.com/romaonthego/RESideMenu 效果如下:官方案例 自己的实现效果 具体代码下: AppDelegate.m文件中 - (BOOL)app ...
- git rebase与 git合并(error: failed to push some refs to)解决方法
1.遇到的问题 本地有一个git仓库,在github上新建了一个空的仓库,但是更新了REWADME.md的信息,即在github上多了一个提交. 关联远程仓库,操作顺序如下: git remote a ...