zoukankan      html  css  js  c++  java
  • 【Shiro】一、Apache Shiro简介

    一、Apache Shiro简介

    1、简介

    一个安全性框架

    特点:功能丰富、使用简单、运行独立


    核心功能:

    Authentication(认证):你是谁?

    Authorization(授权):谁能干什么?

    Session Management(Session管理):基于user、普通Java环境/Web环境

    Cryprography(加密):加密算法

    辅助功能:

    Web Support:提供面向Web系统API

    Caching:确保安全性操作快速有效

    Concurrency:支持多线程并发验证

    Testing:支持单元测试/集成测试

    Run As:模拟角色

    Remember Me:跨Session,如购物车

    2、架构

    整体架构

    Subject:当前用户的视图;包括实体/逻辑用户

    SecurityManager:核心;协调各个安全组件的门面

    Realms:应用和Shiro之间安全性数据的连接器;安全性DAO

    应用开发过程

    应用代码通过Subject进行认证和授权,而Subject又委托给SecurityManager

    应用代码往SecurityManager注入Realm,确保其能得到合法的用户及其权限

    Shiro不提供维护用户/权限,而是通过Realm让开发人员自己注入

    详细架构

    Subject:主体对象,任何可以与应用交互的“用户”

    SecurityManager:系统交互都通过SecurityManager进行统一控制

    Authenticator:认证器,提供扩展点供自定义实现

    Authorizer:授权器(访问控制器),决定主体对操作是否有权限

    SessionManager:Session交互的抽象,支持不同环境下的分布式交互

    SessionDao:Session数据访问对象

    Cache:缓存控制器,管理如用户、角色、权限等的缓存

    Cryptography:加密/解密组件

    Realms:安全实体数据源,一个或多个;也可以自定义实现

    4、SecurityManager

    内部协调性组件:线程安全;实例化消耗资源,推荐使用单例、全局;根对象,Shiro对象导航

    使用SecurityUtils工具类获取SecurityManager

  • 相关阅读:
    MQTT服务器搭建--Mosquitto用户名密码配置
    linux下c语言获取当前时间
    Linux下用C获取当前时间
    iptraf:一个实用的TCP/UDP网络监控工具
    CentOS配制FTP服务器,并且能用root权限登录
    centos6.4搭建ftp服务器
    两台Linux主机互传文件可以使用SCP命令来实现
    Linux 技巧:让进程在后台可靠运行的几种方法
    Linux 下 c 语言 聊天软件
    RobotFrameWork(五)控制流之if语句——Run Keyword If
  • 原文地址:https://www.cnblogs.com/LiveYourLife/p/8675867.html
Copyright © 2011-2022 走看看