Shiro学习笔记之(四)Apache Shiro 认证(登陆)
一、概念
授权即权限管理,即访问控制。三个核心元素:权限、角色和用户
1.1权限 :Shiro是安全机制中最核心得元素,定义用户被允许做什么。
1.2 角色 代表一组行为或职责,角色通常是分配给用户的。Shiro支持两种类型角色:
a.隐式角色 传统方式,一个角色代表着一系列的操作,当需要对某一操作进行授权验证时,只需判断是否是该角色即可。
b.显示角色 一个显示角色本质上是一个授权声明的命名集合。授权验证时,需要判断当前角色是否拥有该权限。
1.3用户 subject 应用程序执行某些操作,是通过让他们与角色相关联或时直接授予权限。
二、授权的实现
Shiro有三种授权方式:编程方式授权,注解方式授权,标签方式授权。
2.1编程方式授权(简单常见的方式)
a.基于角色授权
Role checks(角色检查)
Role Assertions(角色断言) 成功不返回任何值,程序继续执行,失败时抛出AuthorizationException异常
可以直接捕捉AuthorizationException异常来处理。
b.基于权限授权
基于权限授权不会因为角色的改变而对代码进行修改。
Object-based Permission Checks(基于对象的权限检查)
String-Based permission checks(基于字符串的权限检查)
2.2 注解方式
这一部分需要结合实际业务理解,后续补充。。。
2.3 JSP标签方式
使用之前需要引入
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>