|  |  |  | 
|---|
|  |  |  | import com.doumee.service.system.SystemUserService; | 
|---|
|  |  |  | import org.apache.shiro.authc.AuthenticationInfo; | 
|---|
|  |  |  | import org.apache.shiro.authc.AuthenticationToken; | 
|---|
|  |  |  | import org.apache.shiro.authc.UsernamePasswordToken; | 
|---|
|  |  |  | import org.apache.shiro.authc.credential.HashedCredentialsMatcher; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.context.annotation.Lazy; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) { | 
|---|
|  |  |  | ShiroToken usernamePasswordToken = (ShiroToken) token; | 
|---|
|  |  |  | UsernamePasswordToken usernamePasswordToken = (UsernamePasswordToken) token; | 
|---|
|  |  |  | SystemUser queryUserDto = new SystemUser(); | 
|---|
|  |  |  | queryUserDto.setUsername(usernamePasswordToken.getUsername()); | 
|---|
|  |  |  | queryUserDto.setDeleted(Boolean.FALSE); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (systemUser == null) { | 
|---|
|  |  |  | return Boolean.FALSE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(usernamePasswordToken.getDdLogin()){ | 
|---|
|  |  |  | return Boolean.TRUE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(usernamePasswordToken.getWxLogin()){ | 
|---|
|  |  |  | return Boolean.TRUE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        if(usernamePasswordToken.getDdLogin()){ | 
|---|
|  |  |  | //            return Boolean.TRUE; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        if(usernamePasswordToken.getWxLogin()){ | 
|---|
|  |  |  | //            return Boolean.TRUE; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | // 加密密码 | 
|---|
|  |  |  | String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt()); | 
|---|
|  |  |  | // 比较密码 | 
|---|