|  |  |  | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | // 比较密码 | 
|---|