基于角色的权限管理
什么是角色?
代表一系列的行为和责任的实体
限定能做什么、不能做什么
用户账号往往是和角色相关联
RBAC ?
基于角色的权限管理(Role-Based Access Control)
两种控制方式:
显式访问控制
// 判断用户是否是Admin角色
隐式访问控制
// 判断用户是否有报表权限
Java平台下的权限控制框架:
Apache Shiro
Spring Security
Spring Security 简介
核心概念领域:
认证(authentication): “认证” 是建立主体的过程。 主体不仅仅是指人,还可以指应用程序中设备或者其他系统。
解释: 服务A 调用 服务B 的接口。
授权(访问控制):决定是否允许主体在应用程序中进行从操作
功能:
身份认证技术:
HTTP BASIC
HTTP Digest
HTTP X.509
LDAP
基于表单的认证
OpenID
单点登录
Rmmber-ME
匿名身份验证
Run - as
JAAS(java 认证与授权服务)
JAVAEE 容器认证
主要模块:
Code - spring-security-core.jar
Remoting -spring-security-remoting.jar
Web -spring-security-web.jar
config -spring-security-config.jar
LDAP -spring-security-ldap.jar
ACL - spring-security-acl.jar
CAS -spring-security-cas.jar
OpenID -spring-security-openid.jar
Test -spring-security-test.jar