初学shiro

一、shiro结构

1、主要功能

Authentication:身份认证

Authorization:授权

Session Manager:会话管理

Cryptography:加密

 

2、支持特性

Web Support:Web支持

Caching:缓存

Concurrency:并发编程

Testing:测试支持

Run As:代理访问

Remember Me:记住我

 

3、外部结构

Subject:用户主体

SecurityManager:安全管理器

Realm:数据源

 

4、内部结构

Subject:用户主体

SecurityManager:安全管理器

Authenticator:认证器

Authrizer:授权器

Realm:数据源

SessionManager:会话管理

SessionDao:会话管理储存

CacheManager:缓存管理器

Cryptography:密码模块

 

二、调用

1、登录

创建SecurityManager工厂

生成securityManager

设置给SecurityUtils

从SecurityUtils得到subject

创建token

subject.login()

isAuthenticated()

 

2、认证器

Realm:可以配置多realm

Authenticator:认证器

AuthenticationStrategy:认证器策略,在多realm时返回不同的认证结果

 

三、授权

1、授权

Subject:主体

Resource:资源

Permission:权限

Role:角色

 

2、授权方式

编程式

注解式

标签式

 

3、基于角色

hasRole:是否拥有权限

hasAllRoles:是否拥有全部权限

hasRoles:返回拥有的权限列表

 

4、基于权限

isPermitted:判断权限

isPermittedAll:判断全部权限

checkPermission:失败抛异常

checkPermissions:失败抛异常

 

5、授权流程

Authorizer

PermissionResolver

RolePermissionResolver

doGetAuthenticationInfo:获取身份验证信息

doGetAuthorizationInfo:根据用户身份获取授权信息

 

转载于:https://www.cnblogs.com/ctxsdhy/p/9321555.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值