在用户登陆证realm
认证返回结果注意
return new SimpleAuthenticationInfo(sysUserDO,sysUserDO.getPassword(),ByteSource.Util.bytes(sysUserDO.getSalt()),getName());
这里
sysUserDO 第一个参数可为用户名
即
return new SimpleAuthenticationInfo(username,sysUserDO.getPassword(),ByteSource.Util.bytes(sysUserDO.getSalt()),getName());
这里其实是user和username的集合,后端是分两个字段接收的
后段代码 下面进行了判断,不是Collection 即为用户名
public SimplePrincipalCollection(Object principal, String realmName) { if (principal instanceof Collection) { addAll((Collection) principal, realmName); } else { add(principal, realmName); } }
本文深入解析了Shiro认证过程中的关键代码实现,特别是在用户登录验证时的处理逻辑。重点介绍了如何使用SimpleAuthenticationInfo进行认证信息的封装,以及SimplePrincipalCollection在处理用户主体和角色集合时的判断逻辑。
2万+

被折叠的 条评论
为什么被折叠?



