zoukankan      html  css  js  c++  java
  • Shiro 基本概念

    Shiro

    官网:https://shiro.apache.org/。

    什么是 shiro :

    shiro 是一款主流的 Java 安全框架,不依赖任何容器,可以在运行 Java SE 和 Java EE 项目中,他的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。

    Shiro 就是用来解决安全管理的系统化框架。

    Shiro 的核心组件

    用户、角色、权限:

    会给角色赋予权限,给用户赋予角色。

    Shiro1

    1、UsernamePassWordToken : Shiro 用来封装用户的登陆信息,使用用户的登陆信息来创建令牌 Token。

    2、SecurityManager :Shiro 的核心部分,负责安全认证和授权。

    3、Subject :Shiro 的一个抽象概念,包含了用户信息。

    4、Realm :开发者自定义模块,根据项目需求,验证和授权的逻辑全部卸载 Realm 中。

    5、AuthenticationInfo:用户的角色信息集合,授权时使用。

    6、AuthorzationInfo:用户的权限信息集合,授权时使用。

    7、DefaultWebSecurityManager :安全管理器,开发者自定义的 Realm 需要注入到该对象中进行管理才能生效。

    8、ShiroFilterFactoryBean : 过滤器工厂,Shrio 的基本运行机制。开发者定制规则,Shiro 去执行,具体的执行操作就是由 ShiroFactoryBean 创建的一个个 Filter 对象来完成。

    Shrio 的运行机制如下图所示:

    Shiro2

    Shiro 认证及授权规则

    认证过滤器:

    anon :无需认证。

    authc :必须认证。

    authcBasic : 需要通过 HTTPBasic 认证。

    user :不一定通过认证,只要曾经被 Shiro 记录即可(例如记住我的操作)。

    授权过滤器

    perms :必须拥有某个权限才能访问。

    roles :必须拥有某个角色才能访问。

    port :请求的端口必须位指定值。

    rest :请求必须基于 RESTful。

    ssl :必须为安全的 URL 请求,协议必须为 HTTPS。

  • 相关阅读:
    [POI2013]LUK-Triumphal arch
    [CF1149C](Tree Generator)
    NOI2018归程
    [CF191](Fools and Roads)
    [CF700E](Cool Slogans)
    我石乐志
    想题的时候不要颓废
    人不能忘耻
    反思
    中考加油!
  • 原文地址:https://www.cnblogs.com/leizzige/p/13796815.html
Copyright © 2011-2022 走看看