• SimpleAuthenticationInfo的参数


    SimpleAuthenticationInfo的参数

    仅供个人参考,以及学习记录。
    SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(
    userInfo, //用户名–此处传的是用户对象
    userInfo.getPassword(), //密码—从数据库中获取的密码
    salt,
    getName() //当前的realm名
    );

    Simple中可以传四个参数也可以传三个参数。

    第一个参数,有的人传的是userInfo对象对用的用户名。在学习过程中,传入的都是user对象,没有尝试过对象对应的用户名,但是从前辈们的经验看得到,此处也可以传用户名,因人而异吧。

    第二个参数,传的是从数据库中获取的password,然后再与token中的password进行对比,匹配上了就通过,匹配不上就报异常。

    第三个参数,盐–用于加密密码对比,–获取的经验:为了防止两用户的初始密码是一样的,
    –巨佬们的解答:四个参数,防止两用户可能初始密码相同时候用,token 用simplehash(四个参数的构造) 加密默认用了MD5 迭代一次加密,info中在密码比对调用new SimpleHash(String algorithmName, Object source)这个实例化对象默认迭代一次了,所以当你用三个参数加密时候可能两 个初始密码相同人的就没能区别开 (因此realm中密码要从数据库的查的原因),通过设置reaml 中credentialsMatcher 属性的各项属性可实现

    第四个参数:当前realm的名字。

    —ps:第一个参数可以直接通过token.getPrincipal()方法获取—获取当前记录的用户名,从这个用户名获取一系列的对应需求属性。
    ————————————————
    版权声明:本文为CSDN博主「weixin_42195162」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_42195162/article/details/89376076

  • 相关阅读:
    【Tomcat】Tomcat配置JVM参数步骤
    windows开启远程
    【Teamviewer】Teamviewer远程访问工具使用方法
    【Chrome】Chrome浏览器怎么查看版本信息
    windows server 2008R2 上安装配置freesshd
    如何以管理员身份运行cmd
    MySQL的配置文件无法修改的解决办法(Win8)
    如何在Linux中查看所有正在运行的进程
    【Google Chrome】Google Chrome快捷键大全
    【Eclipse】Eclipse 快捷键
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/12410695.html
Copyright © 2020-2023  润新知