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()方法获取—获取当前记录的用户名,从这个用户名获取一系列的对应需求属性。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值