!229 升级sa-token到最新版1.31.0
Merge pull request !229 from Charles7c/dev
| | |
| | | <poi.version>5.2.2</poi.version> |
| | | <easyexcel.version>3.1.1</easyexcel.version> |
| | | <velocity.version>2.3</velocity.version> |
| | | <satoken.version>1.30.0</satoken.version> |
| | | <satoken.version>1.31.0</satoken.version> |
| | | <mybatis-plus.version>3.5.2</mybatis-plus.version> |
| | | <p6spy.version>3.9.1</p6spy.version> |
| | | <hutool.version>5.8.6</hutool.version> |
| | |
| | | @GetMapping("/list") |
| | | public TableDataInfo<SysUserOnline> list(String ipaddr, String userName) { |
| | | // 获取所有未过期的 token |
| | | List<String> keys = StpUtil.searchTokenValue("", -1, 0); |
| | | List<String> keys = StpUtil.searchTokenValue("", -1, 0, false); |
| | | List<UserOnlineDTO> userOnlineDTOList = new ArrayList<>(); |
| | | for (String key : keys) { |
| | | String token = key.replace(CacheConstants.LOGIN_TOKEN_KEY, ""); |
| | |
| | | package com.ruoyi.framework.config; |
| | | |
| | | import cn.dev33.satoken.interceptor.SaAnnotationInterceptor; |
| | | import cn.dev33.satoken.interceptor.SaRouteInterceptor; |
| | | import cn.dev33.satoken.interceptor.SaInterceptor; |
| | | import cn.dev33.satoken.jwt.StpLogicJwtForSimple; |
| | | import cn.dev33.satoken.router.SaRouter; |
| | | import cn.dev33.satoken.stp.StpLogic; |
| | |
| | | @Override |
| | | public void addInterceptors(InterceptorRegistry registry) { |
| | | // 注册路由拦截器,自定义验证规则 |
| | | registry.addInterceptor(new SaRouteInterceptor((request, response, handler) -> { |
| | | registry.addInterceptor(new SaInterceptor(handler -> { |
| | | ExcludeUrlProperties excludeUrlProperties = SpringUtils.getBean(ExcludeUrlProperties.class); |
| | | // 登录验证 -- 排除多个路径 |
| | | SaRouter |
| | |
| | | |
| | | }); |
| | | })).addPathPatterns("/**"); |
| | | registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**"); |
| | | } |
| | | |
| | | @Bean |
| | |
| | | * 每次被封禁时触发 |
| | | */ |
| | | @Override |
| | | public void doDisable(String loginType, Object loginId, long disableTime) { |
| | | public void doDisable(String loginType, Object loginId, String service, int level, long disableTime) { |
| | | } |
| | | |
| | | /** |
| | | * 每次被解封时触发 |
| | | */ |
| | | @Override |
| | | public void doUntieDisable(String loginType, Object loginId) { |
| | | public void doUntieDisable(String loginType, Object loginId, String service) { |
| | | } |
| | | |
| | | /** |
| | |
| | | public void doLogoutSession(String id) { |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 每次Token续期时触发 |
| | | */ |
| | | @Override |
| | | public void doRenewTimeout(String tokenValue, Object loginId, long timeout) { |
| | | } |
| | | } |
| | |
| | | * 搜索数据 |
| | | */ |
| | | @Override |
| | | public List<String> searchData(String prefix, String keyword, int start, int size) { |
| | | public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) { |
| | | Collection<String> keys = RedisUtils.keys(prefix + "*" + keyword + "*"); |
| | | List<String> list = new ArrayList<>(keys); |
| | | return SaFoxUtil.searchList(list, start, size); |
| | | return SaFoxUtil.searchList(list, start, size, sortType); |
| | | } |
| | | |
| | | } |