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:根据用户身份获取授权信息

  • 相关阅读:
    2016.11.30
    java韩顺平老师视频有需要可以留言
    UESTC 1425 Another LCIS
    hdu 3308 LCIS
    HDU 3308 LCIS 线段树区间更新
    poj crane
    poj1436 Horizontally Visible Segments
    编程习惯记录
    poj 3225 Help with Intervals
    UVA 1513 Movie collection
  • 原文地址:https://www.cnblogs.com/ctxsdhy/p/9321555.html
Copyright © 2011-2022 走看看