Apache Shiro

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(图集)
(图集)
第38行: 第38行:
 
==图集==
 
==图集==
 
<gallery>
 
<gallery>
image:shiro-basic-architecture.png|基础架构
+
image:shiro-basic-architecture.png|核心概念
Image:Apache-Shiro.png|完整架构
+
image:Apache-Shiro.png|架构
 +
image:shiro-features.png|功能
 
</gallery>
 
</gallery>
  

2015年12月22日 (二) 03:14的版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Apache Shiro Thanks, Wikipedia.

Apache Shiro:Java安全框架,提供了认证、授权、加密和会话管理功能,可为任何应用提供安全保障,从命令行应用、移动应用到大型网络及企业应用。

目录

简介

Shiro功能:

  • 基于POJO/J2SE(IoC友好);
  • 认证:用户身份识别;
  • 授权:访问控制;
  • 密码加密:保护或隐藏数据防止被偷窥;
  • 会话管理:每用户相关的时间敏感的状态;
  • 集群管理:支持Ehcache, Coherence, GigaSpaces等方案;
  • 事件监听:监听会话期间的生命周期事件,如:会话超时时更新用户记录;
  • 用于单点登录(SSO)

核心概念

Apache Shiro有三个核心概念:Subject,SecurityManager和Realms

Subject

import org.apache.shiro.subject.Subject;
import org.apache.shiro.SecurityUtils;
...
Subject currentUser = SecurityUtils.getSubject();

一旦获得Subject,你就可以立即获得你希望用Shiro为当前用户做的90%的事情,如登录、登出、访问会话、执行授权检查等 - 稍后还会看到更多。

SecurityManager

Subject的“幕后”推手是SecurityManager。Subject代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。它是Shiro框架的核心,充当“保护伞”,引用了多个内部嵌套安全组件,它们形成了对象图。

Realms

Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。也就是说,当切实与像用户帐户这类安全相关数据进行交互,执行认证(登录)和授权(访问控制)时,Shiro会从应用配置的Realm中查找很多内容。

Realm实质上是一个安全相关的DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给Shiro。

会话管理

Shiro的架构允许可插拔的会话数据存储,如企业缓存、关系数据库、NoSQL系统等。

图集

链接

Comment-32x32.png

<discussion>characters_max=300</discussion>

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱