|  |  | 
 |  |  |     public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) { | 
 |  |  |         ShiroToken usernamePasswordToken = (ShiroToken) token; | 
 |  |  |         SystemUser queryUserDto = new SystemUser(); | 
 |  |  |         queryUserDto.setUsername(usernamePasswordToken.getUsername()); | 
 |  |  |         queryUserDto.setDeleted(Boolean.FALSE); | 
 |  |  |         if(!usernamePasswordToken.isNeedPassword()){ | 
 |  |  |             queryUserDto.setMobile(usernamePasswordToken.getUsername()); | 
 |  |  |             SystemUser systemUser = systemUserService.findOne(queryUserDto); | 
 |  |  |             if (systemUser == null) { | 
 |  |  |                 return Boolean.FALSE; | 
 |  |  |             } | 
 |  |  |             return Boolean.TRUE; | 
 |  |  |         } | 
 |  |  |         queryUserDto.setUsername(usernamePasswordToken.getUsername()); | 
 |  |  |         SystemUser systemUser = systemUserService.findOne(queryUserDto); | 
 |  |  |         if (systemUser == null) { | 
 |  |  |             return Boolean.FALSE; | 
 |  |  |         } | 
 |  |  |         if(!usernamePasswordToken.isNeedPassword()){ | 
 |  |  |             return Boolean.TRUE; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         // 加密密码 | 
 |  |  |         String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt()); | 
 |  |  |         // 比较密码 |