shiro AuthenticationToken体系

shiro AuthenticationToken体系

shiro AuthenticationToken体系

如上图,为AuthenticationToken的继承体系,AuthenticationToken是在shiro进行身份验证时不可或缺的一部分,在验证是用户的身份(如:用户名)及凭证(如密码)过程中,都是从该AuthenticationToken获取的。

AuthenticationToken

//AuthenticationToken用于收集用户提交的身份(如用户名)及凭据(如密码):
public interface AuthenticationToken extends Serializable {

    /**
     * 返回身份信息,相当于用户的用户名
     */
    Object getPrincipal();

    /**
     * 返回用户凭证信息,相当于用户的用户密码
     */
    Object getCredentials();

RememberMeAuthenticationToken:RememberMeAuthenticationToken在AuthenticationToken的基础上添加了记住我的功能

HostAuthenticationToken:在AuthenticationToken基础上添加了获取用户主机的功能

UsernamePasswordToken:shiro认证中最常用的一种,里面封装了用户的用户名,密码,用户主机,是否记住我的功能

BearerToken:里面封装了一个字符串token,该字符串token为用户的一些不敏感信息经过加密之后生成的,可以通过一定的规则解密来获取用户的信息,主要在web应用中结合自定义Realm使用,用于前后端分离,将字符串token放到header中传给系统进行验证。

BearerToken的简单使用参考简单示例

AuthenticationToken的中文注释参考

Original: https://www.cnblogs.com/haizhilangzi/p/15016608.html
Author: 海之浪子
Title: shiro AuthenticationToken体系

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581062/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 这类注解都不知道,还好意思说会Spring Boot ?

    不知道大家在使用Spring Boot开发的日常中有没有用过 @Conditionalxxx注解,比如 @ConditionalOnMissingBean。相信看过Spring B…

    Java 2023年6月14日
    078
  • 【Linux】指令学习

    Linux学习记录 😄生命不息,写作不止🏆 一个有梦有戏的人 @怒放吧德德🌝分享学习心得,欢迎指正,大家一起学习成长! 1、虚拟机网卡配置 服务器重启完成之后,我们可以通过linu…

    Java 2023年6月16日
    0100
  • Docker仓库管理镜像 — 公共仓库【Docker Hub】和私人仓库【Registry】和【harbor】

    镜像仓库管理 docker仓库,用来管理镜像。主要分为公共仓库和私人仓库。下面介绍了公共仓库Docker Hub、私人仓库Registry和harbor。 DockerHUb仓库管…

    Java 2023年6月15日
    062
  • 总结Hibernate4.1+版本与Hibernate3.3+版本区别

    利用休假时间好好学习了当今流行的ORMapping框架- Hibernate,看完了马士兵老师经典的Hibernate视频教程,也算是小小入门了吧。 马老师在讲课中使用的Hiber…

    Java 2023年6月9日
    054
  • FutureTask源码深度剖析

    在前面的文章自己动手写FutureTask当中我们已经仔细分析了FutureTask给我们提供的功能,并且深入分析了我们该如何实现它的功能,并且给出了使用 ReentrantLoc…

    Java 2023年6月8日
    097
  • JAVA 对象头分析及Synchronized锁

    JAVA 对象头分析及Synchronized锁 对象内存布局 HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头( Header)、实例数据( Instanc…

    Java 2023年5月29日
    055
  • String、StringBuilder和StringBuffer

    JVM(Java虚拟机) 学习String类前,先了解一下JVM,也称为Java虚拟机。 JVM内存分有几大区域,其中,常见有堆、桟、方法区、常量池。 堆是运行时数据区,类通过ne…

    Java 2023年6月5日
    090
  • Mybatis如何使用连表查询

    某天,产品经理给了这么一个需求技术小哥,能不能帮用户添加一个搜索栏,查询包含某个关键字的所有类目。技术小哥稍微想了一下,目前跟类目相关的表有两个,一个是content_catego…

    Java 2023年6月14日
    067
  • Java八大基本数据类与对应包装类

    Java的八种基本数据类型 序号 数据类型 字节数 默认值 取值范围 示例 1 byte (位) 1 0 -2^7 ~ 2^7-1 byte b = 10; 2 short (短整…

    Java 2023年6月5日
    044
  • powerpoint 无法打开文件

    PowerPoint 无法打开文件 出现的问题 今天下载老师放在学习通的ppt,居然不能打开,记录一下 点击修复后出现: 这并不是文件损坏了,而是powerpoint出于安全的考虑…

    Java 2023年6月15日
    0294
  • 自定义排序之数据库设计

    自定义排序之数据库设计 之前做过的项目有项需求,就是要对一个普通的列表进行自定义排序功能,当初构思了几个方案,各有所长,按需使用,下面就一一来介绍这几个方案。注:这里的自定义排序就…

    Java 2023年6月16日
    082
  • LeetCode随缘刷题之两数相加

    逐步解释,有说错的地方欢迎指正。 package leetcode.day_12_03; public class AddTwoNumbers0002 { public ListN…

    Java 2023年6月7日
    071
  • InnoDB学习(七)之索引结构

    索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。可以将数据库索引和书的目录进行类比,通过书的目录我们可以快速查找到章节位置,如果没有目录…

    Java 2023年6月8日
    073
  • JAVA:聊聊JAVA基础(2)- 基本语法(待续)

    Java中的注释 单行注释 //这是一个单行&a…

    Java 2023年6月5日
    069
  • 幂等性问题以及解决方案

    幂等性问题以及解决方案 幂等性问题以及解决方案 1、问题 2、回答 2.1、 说一说什么是幂等? 2.2、 那么,我们对于这幂等性问题,有什么解决方案呢? 2.2.1、唯一索引 2…

    Java 2023年6月7日
    072
  • Java的jps命令使用详解

    jps(Java Virtual Machine Process Status Tool)是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,它可以显示Jav…

    Java 2023年6月7日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球