|  |  |  | 
|---|
|  |  |  | package doumeemes.config.shiro; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import doumeemes.config.shiro.ShiroToken; | 
|---|
|  |  |  | import doumeemes.core.utils.Utils; | 
|---|
|  |  |  | import doumeemes.dao.system.model.SystemUser; | 
|---|
|  |  |  | import doumeemes.service.system.SystemUserService; | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Shiro密码比对处理 | 
|---|
|  |  |  | * @author Eva.Caesar Liu | 
|---|
|  |  |  | * @date 2022/04/18 18:12 | 
|---|
|  |  |  | * @date 2023/04/17 12:11 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Component | 
|---|
|  |  |  | public class ShiroCredentialsMatcher extends HashedCredentialsMatcher { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Lazy | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SystemUserService systemUserService; | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) { | 
|---|
|  |  |  | ShiroToken usernamePasswordToken = (ShiroToken) token; | 
|---|
|  |  |  | if(((ShiroToken) token).getUpdateFlag() ==1){ | 
|---|
|  |  |  | return Boolean.TRUE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SystemUser queryUserDto = new SystemUser(); | 
|---|
|  |  |  | queryUserDto.setUsername(usernamePasswordToken.getUsername()); | 
|---|
|  |  |  | queryUserDto.setDeleted(Boolean.FALSE); | 
|---|