美文网首页Java
SimpleAuthenticationInfo的参数

SimpleAuthenticationInfo的参数

作者: 一觉睡到丶小时候 | 来源:发表于2019-12-06 16:00 被阅读0次
    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()方法获取—获取当前记录的用户名,从这个用户名获取一系列的对应需求属性。

    相关文章

      网友评论

        本文标题:SimpleAuthenticationInfo的参数

        本文链接:https://www.haomeiwen.com/subject/pjsegctx.html