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)

大家都在看

  • SpringCloud : 接入 微信公众号平台(一)、接入微信请求(支持多公众号)

    Feign 版本10.1.0 Spring 版本 5.1.5.RELEASE SpringBoot 版本 2.1.5.RELEASE SpringCloud 版本 2.1.1.RE…

    Java 2023年5月30日
    0128
  • Java三大特性之多态

    多态概述 Java有三大特性:封装、继承和多态。 ​ 那么什么是多态呢?所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序…

    Java 2023年6月5日
    089
  • HashMap不安全后果及ConcurrentHashMap线程安全原理

    Java集合HashMap不安全后果及ConcurrentHashMap 原理 HashMap JDK7 HashMap链表循环造成死循环 HashMap数据丢失 JDK7 Con…

    Java 2023年6月16日
    084
  • Spring Boot 请求返回字符串中文乱码

    新搭建的spring boot的项目,后台返回的String数据到浏览器时中文乱码 1.在返回有乱码的controller 的RequestMapping里增加 produces …

    Java 2023年5月30日
    082
  • 完全背包转化为多重背包

    在本篇文章当中主要给大家介绍如何将完全背包问题转化成多重背包问题,在前面的文章完全背包当中,我们仔细的介绍了完全背包的状态转移方程、根据状态转移方程如何完成代码以及多重背包的数组优…

    Java 2023年6月8日
    075
  • jquery 跨域调用wcf 返回json 碰到的一些问题

    走到这里的时候,发现网络上能学习的资源或是比较适合自己项目的文章越来越少了,也在这里停留了比较长的时间 在做跨域的过程中,感觉http://localhost:9090/域与htt…

    Java 2023年6月13日
    071
  • Docker操作(二)容器

    Docker操作(二)容器 一、容器的特点: 1、容器是基于镜像来运行 2、容器具备沙箱机制,容器之间相互隔离 3、容器是运行在Docker内部,跟宿主机也是隔离的,但宿主机可以与…

    Java 2023年6月8日
    085
  • 互联网医院实施方案(一)实施前准备

    业务标签:医院信息集成平台、互联网医院、互联网护理、慢性病随访 技术标签:ESB、ETL+CDC、NLP、FaaS、SaaS、Hadoop、MicroService 技术微信群:加…

    Java 2023年5月29日
    075
  • 如何设置博客首页显示透明的人物图像

    在个人博客的设置里,页脚HTML代码内输入以下内容: __ 按照此设置后,页面效果如图所示: 欢迎关注我的博客,获取更多精品知识合集 如果觉得对您有帮助的话,请帮我点赞、分享!您的…

    Java 2023年6月5日
    071
  • Java学习 (10)Java流程控制篇(01)Scanner

    Java学习 (10)Java流程控制篇(01)Scanner Scanner对象 Scanner对象基本内容 关于next() 和 nextLine() 方式的区别 next()…

    Java 2023年6月8日
    085
  • jvm

    双亲委派机制 什么是类加载器? 类加载器是jre的一部分,负责动态将类添加到Java虚拟机。 类加载分类 1、启动类加载器 bootstrap classloader :加载jre…

    Java 2023年6月13日
    077
  • javaEE中config.properties文件乱码解决办法

    http://jingyan.baidu.com/article/ed2a5d1f3381d709f6be17f8.html ———————————————————————————…

    Java 2023年5月29日
    081
  • IDEA 启动报错 java.nio.charset.MalformedInputException: Input length=2

    idea 启动提示 other.xml 无法解析 …… cannot parse file other.xml: java.nio.charset.Malf…

    Java 2023年5月29日
    071
  • springboot修改接口入参出参实现入参加密出参解密

    一、背景 针对项目已经开发完的接口,都需要加上传输数据加密的功能,对接口入参进行AES解密,对接口出参进行加密。考虑到尽量改动少点,使用自定义注解结合springmvc里的Requ…

    Java 2023年5月30日
    083
  • Java Thread的interrupt详解

    一、概述:1、没有任何语言方面的需求一个被中断的线程应该终止。中断一个线程只是为了引起该线程的注意,被中断线程可以决定如何应对中断。 2、Thread.interrupt()方法不…

    Java 2023年5月29日
    071
  • 2018年最新JAVA面试题总结之基础(1)

    转自于:https://zhuanlan.zhihu.com/p/39322967 1、JAVA中能创建volatile数组吗?volatile能使得一个非原子操作变成原子操作吗?…

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