zoukankan      html  css  js  c++  java
  • 初学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:根据用户身份获取授权信息

  • 相关阅读:
    xcode debug
    ios 使用Quartz 2D画虚线
    ios UIGestureRecognizer
    ios 实现带矩形框的屏幕截图
    ios UISegemetedControl
    centos最小安装之后无法使用ifconfig
    无线LoRa智能远传水表
    智能水表188协议汇总
    无线LoRa远传智能水表
    静电除尘器除尘原理
  • 原文地址:https://www.cnblogs.com/ctxsdhy/p/9321555.html
Copyright © 2011-2022 走看看