LAPTOP-KB9HII50\70708 3 년 전
부모
커밋
9d8168aadf

+ 21 - 14
server/svr-authentication/src/main/java/com/yihu/jw/security/core/userdetails/jdbc/WlyyUserDetailsService.java

@ -686,20 +686,16 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
        }
        if(StringUtils.isNotBlank(clientId)&&StringUtils.isNotBlank(clientType)&&isPateint<3){
            try {
                List<GetuiClientDO> list = baseGetuiClientDao.findByUser(id,isPateint,clientType);
                if(list.size() == 0){
                    GetuiClientDO getuiClientDO = new GetuiClientDO();
                    getuiClientDO.setClientId(clientId);
                    getuiClientDO.setType(isPateint);
                    getuiClientDO.setClientType(clientType);
                    getuiClientDO.setUser(id);
                    getuiClientDO.setCreateTime(new Date());
                    baseGetuiClientDao.save(getuiClientDO);
                }else{
                    GetuiClientDO getuiClientDO = list.get(0);
                    getuiClientDO.setClientId(clientId);
                    baseGetuiClientDao.save(getuiClientDO);
                }
                //先删除在新增
                deleteCidByUser(id);
                GetuiClientDO getuiClientDO = new GetuiClientDO();
                getuiClientDO.setClientId(clientId);
                getuiClientDO.setType(isPateint);
                getuiClientDO.setClientType(clientType);
                getuiClientDO.setUser(id);
                getuiClientDO.setCreateTime(new Date());
                baseGetuiClientDao.save(getuiClientDO);
            }catch (Exception e){
                e.printStackTrace();
            }
@ -721,6 +717,17 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
    }
    public void deleteCidByUser(String user){
        try {
            String sql = "delete from base_getui_client where user='"+user+"'";
            getJdbcTemplate().execute(sql);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     * app,wx,pad,pc
     * @param clientType

+ 3 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/login/dao/BaseLoginLogDao.java

@ -15,4 +15,7 @@ public interface BaseLoginLogDao extends PagingAndSortingRepository<BaseLoginLog
    @Query("from BaseLoginLogDO l where l.userId=?1 order by l.createTime desc")
    List<BaseLoginLogDO> findByUserId(String openid);
    @Query(value = "SELECT a.* from base_login_log a WHERE a.token=?1 ORDER BY a.create_time desc LIMIT 1",nativeQuery = true)
    BaseLoginLogDO findByToken(String token);
}

+ 4 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/login/service/BaseLoginLogService.java

@ -19,6 +19,10 @@ public class BaseLoginLogService<T, R extends CrudRepository> extends BaseJpaSer
    @Autowired
    private BaseLoginLogDao baseLoginLogDao;
    public BaseLoginLogDO findByToken(String token){
        return baseLoginLogDao.findByToken(token);
    }
    /**
     * 根据openid 获取最新的一条数据
     * @param openid

+ 10 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java

@ -516,6 +516,16 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
            tokenStore.removeAccessToken(oAuth2AccessToken.getValue());
            tokenStore.removeRefreshToken(oAuth2AccessToken.getRefreshToken().getValue());
        }
        //删除个推cid
        if(!StringUtils.isEmpty(token)){
            BaseLoginLogDO loginLogDO = baseLoginLogService.findByToken(token);
            if(loginLogDO!=null){
                userDetailsService.deleteCidByUser(loginLogDO.getUserId());
            }
        }
        HttpHeaders headers = new HttpHeaders();
        headers.set("Cache-Control", "no-store");
        headers.set("Pragma", "no-cache");