Shiro的学习 (10)

ByteSource.Util.bytes(user.getSalt())

protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { String username = (String) token.getPrincipal(); UserService userService = (UserService)ContextLoader.getCurrentWebApplicationContext().getBean("userService"); User user = userService.queryUser(username); System.out.println("user:"+user); if(user==null){ System.out.println("用户不存在"); throw new UnknownAccountException("username:"+username+"不存在"); } //以上逻辑不变 //在最后返回用户认证info时,添加一个属性:ByteSource.Util.bytes(user.getSalt()) = 盐 //用于密码比对 return new SimpleAuthenticationInfo(user.getUsername(), user.getPassword(), ByteSource.Util.bytes(user.getSalt()), getName()); }

至此,可以进行注册,注册中已经会加密密码。

然后登陆认证身份,认证时realm会调用比对器比对密文。

Shiro的学习

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygjwp.html