From c0f3dff0f66553f9e9eedd1e4dd6149ce74ceb20 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 13 一月 2022 11:27:09 +0800 Subject: [PATCH] update 合并 satoken 解决不兼容不分 --- /dev/null | 138 ---------------------------------- ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java | 24 +++--- ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java | 18 ++-- ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java | 3 ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java | 5 ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java | 24 +++--- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java | 3 ruoyi-generator/src/main/resources/vm/vue/index.vue.vm | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java | 10 +- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 2 ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java | 2 11 files changed, 45 insertions(+), 186 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java index 5e432ab..a435627 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java @@ -49,9 +49,9 @@ @ApiOperation("涓汉淇℃伅") @GetMapping public AjaxResult<Map<String, Object>> profile() { - SysUser user = userService.getById(getUserId()); - Map<String, Object> ajax = new HashMap<>(); - ajax.put("user", user); + SysUser user = userService.selectUserById(getUserId()); + Map<String, Object> ajax = new HashMap<>(); + ajax.put("user", user); ajax.put("roleGroup", userService.selectUserRoleGroup(user.getUserName())); ajax.put("postGroup", userService.selectUserPostGroup(user.getUserName())); return AjaxResult.success(ajax); @@ -119,8 +119,8 @@ public AjaxResult<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile file) { Map<String,Object> ajax = new HashMap<>(); if (!file.isEmpty()) { - SysOss oss = iSysOssService.upload(file); - String avatar = oss.getUrl(); + SysOss oss = iSysOssService.upload(file); + String avatar = oss.getUrl(); if (userService.updateUserAvatar(getUsername(), avatar)) { ajax.put("imgUrl", avatar); return AjaxResult.success(ajax); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index c80bf80..f969ea4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -107,7 +107,7 @@ @SaCheckPermission("system:user:query") @GetMapping(value = {"/", "/{userId}" }) public AjaxResult<Map<String, Object>> getInfo(@ApiParam("鐢ㄦ埛ID") @PathVariable(value = "userId", required = false) Long userId) { - userService.checkUserDataScope(userId); + userService.checkUserDataScope(userId); Map<String, Object> ajax = new HashMap<>(); List<SysRole> roles = roleService.selectRoleAll(); ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java index 9a8cf63..837d148 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java @@ -59,15 +59,15 @@ return iTestDemoService.queryPageList(bo, pageQuery); } - /** - * 鑷畾涔夊垎椤垫煡璇� - */ - @ApiOperation("鑷畾涔夊垎椤垫煡璇�") - @SaCheckPermission("demo:demo:list") - @GetMapping("/page") - public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) { - return iTestDemoService.customPageList(bo, pageQuery); - } + /** + * 鑷畾涔夊垎椤垫煡璇� + */ + @ApiOperation("鑷畾涔夊垎椤垫煡璇�") + @SaCheckPermission("demo:demo:list") + @GetMapping("/page") + public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) { + return iTestDemoService.customPageList(bo, pageQuery); + } @ApiOperation("瀵煎叆娴嬭瘯-鏍¢獙") @ApiImplicitParams({ diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java deleted file mode 100644 index 58427da..0000000 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.ruoyi.framework.aspectj; - -import com.ruoyi.common.annotation.DataScope; -import com.ruoyi.common.core.domain.BaseEntity; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.service.UserService; -import com.ruoyi.common.utils.LoginUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; -import org.springframework.stereotype.Component; - -/** - * 鏁版嵁杩囨护澶勭悊 - * - * @author Lion Li - * @deprecated 3.6.0 绉婚櫎 {@link com.ruoyi.framework.handler.PlusDataPermissionHandler} - */ -@Aspect -@Component -@Deprecated -public class DataScopeAspect { - - /** - * 鍏ㄩ儴鏁版嵁鏉冮檺 - */ - public static final String DATA_SCOPE_ALL = "1"; - - /** - * 鑷畾鏁版嵁鏉冮檺 - */ - public static final String DATA_SCOPE_CUSTOM = "2"; - - /** - * 閮ㄩ棬鏁版嵁鏉冮檺 - */ - public static final String DATA_SCOPE_DEPT = "3"; - - /** - * 閮ㄩ棬鍙婁互涓嬫暟鎹潈闄� - */ - public static final String DATA_SCOPE_DEPT_AND_CHILD = "4"; - - /** - * 浠呮湰浜烘暟鎹潈闄� - */ - public static final String DATA_SCOPE_SELF = "5"; - - /** - * 鏁版嵁鏉冮檺杩囨护鍏抽敭瀛� - */ - public static final String DATA_SCOPE = "dataScope"; - - @Before("@annotation(controllerDataScope)") - public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable { - clearDataScope(point); - handleDataScope(point, controllerDataScope); - } - - protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope) { - // 鑾峰彇褰撳墠鐨勭敤鎴� - SysUser currentUser = SpringUtils.getBean(UserService.class).selectUserById(LoginUtils.getUserId()); - // 濡傛灉鏄秴绾х鐞嗗憳锛屽垯涓嶈繃婊ゆ暟鎹� - if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) { - dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), - controllerDataScope.userAlias(), controllerDataScope.isUser()); - } - } - - /** - * 鏁版嵁鑼冨洿杩囨护 - * - * @param joinPoint 鍒囩偣 - * @param user 鐢ㄦ埛 - * @param userAlias 鍒悕 - */ - public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias, boolean isUser) { - StringBuilder sqlString = new StringBuilder(); - - // 灏� "." 鎻愬彇鍑�,涓嶅啓鍒悕涓哄崟琛ㄦ煡璇�,鍐欏埆鍚嶄负澶氳〃鏌ヨ - deptAlias = StringUtils.isNotBlank(deptAlias) ? deptAlias + "." : ""; - userAlias = StringUtils.isNotBlank(userAlias) ? userAlias + "." : ""; - - for (SysRole role : user.getRoles()) { - String dataScope = role.getDataScope(); - if (DATA_SCOPE_ALL.equals(dataScope)) { - sqlString = new StringBuilder(); - break; - } else if (DATA_SCOPE_CUSTOM.equals(dataScope)) { - sqlString.append(StringUtils.format( - " OR {}dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", - deptAlias, role.getRoleId())); - } else if (DATA_SCOPE_DEPT.equals(dataScope)) { - sqlString.append(StringUtils.format(" OR {}dept_id = {} ", - deptAlias, user.getDeptId())); - } else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) { - sqlString.append(StringUtils.format( - " OR {}dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )", - deptAlias, user.getDeptId(), user.getDeptId())); - } else if (DATA_SCOPE_SELF.equals(dataScope)) { - if (isUser) { - sqlString.append(StringUtils.format(" OR {}user_id = {} ", - userAlias, user.getUserId())); - } else { - // 鏁版嵁鏉冮檺涓轰粎鏈汉涓旀病鏈塽serAlias鍒悕涓嶆煡璇换浣曟暟鎹� - sqlString.append(" OR 1=0 "); - } - } - } - - if (StringUtils.isNotBlank(sqlString.toString())) { - putDataScope(joinPoint, sqlString.substring(4)); - } - } - - /** - * 鎷兼帴鏉冮檺sql鍓嶅厛娓呯┖params.dataScope鍙傛暟闃叉娉ㄥ叆 - */ - private void clearDataScope(final JoinPoint joinPoint) { - Object params = joinPoint.getArgs()[0]; - if (StringUtils.isNotNull(params)) { - putDataScope(joinPoint, ""); - } - } - - private static void putDataScope(JoinPoint joinPoint, String sql) { - Object params = joinPoint.getArgs()[0]; - if (StringUtils.isNotNull(params)) { - if (params instanceof BaseEntity) { - BaseEntity baseEntity = (BaseEntity) params; - baseEntity.getParams().put(DATA_SCOPE, sql); - } - } - } -} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java index 87781eb..f311a65 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java @@ -72,18 +72,18 @@ } } - /** - * 鑾峰彇鐧诲綍鐢ㄦ埛鍚� - */ - private String getLoginUsername() { - LoginUser loginUser; - try { + /** + * 鑾峰彇鐧诲綍鐢ㄦ埛鍚� + */ + private String getLoginUsername() { + LoginUser loginUser; + try { loginUser = LoginUtils.getLoginUser(); - } catch (Exception e) { - log.warn("鑷姩娉ㄥ叆璀﹀憡 => 鐢ㄦ埛鏈櫥褰�"); - return null; - } - return loginUser.getUsername(); - } + } catch (Exception e) { + log.warn("鑷姩娉ㄥ叆璀﹀憡 => 鐢ㄦ埛鏈櫥褰�"); + return null; + } + return loginUser.getUsername(); + } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java index 95837fe..15b04d8 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java @@ -12,10 +12,10 @@ import com.ruoyi.common.core.service.UserService; import com.ruoyi.common.enums.UserType; import com.ruoyi.common.utils.LoginUtils; -import com.ruoyi.common.utils.RedisUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.ip.AddressUtils; +import com.ruoyi.common.utils.redis.RedisUtils; import com.ruoyi.common.utils.spring.SpringUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -45,18 +45,18 @@ SysUser user = SpringUtils.getBean(UserService.class).selectUserById(LoginUtils.getUserId()); String tokenValue = StpUtil.getTokenValue(); UserOnlineDTO userOnlineDTO = new UserOnlineDTO() - .setIpaddr(ip) - .setLoginLocation(AddressUtils.getRealAddressByIP(ip)) - .setBrowser(userAgent.getBrowser().getName()) - .setOs(userAgent.getOs().getName()) - .setLoginTime(System.currentTimeMillis()) - .setTokenId(tokenValue) - .setUserName(user.getUserName()); + .setIpaddr(ip) + .setLoginLocation(AddressUtils.getRealAddressByIP(ip)) + .setBrowser(userAgent.getBrowser().getName()) + .setOs(userAgent.getOs().getName()) + .setLoginTime(System.currentTimeMillis()) + .setTokenId(tokenValue) + .setUserName(user.getUserName()); if (StringUtils.isNotNull(user.getDept())) { userOnlineDTO.setDeptName(user.getDept().getDeptName()); } RedisUtils.setCacheObject(Constants.ONLINE_TOKEN_KEY + tokenValue, userOnlineDTO, saTokenConfig.getTimeout(), TimeUnit.SECONDS); - log.info("user doLogin, useId:{}, token:{}", loginId, tokenValue); + log.info("user doLogin, useId:{}, token:{}" , loginId, tokenValue); } else if (userType == UserType.APP_USER) { // app绔� 鑷鏍规嵁涓氬姟缂栧啓 } @@ -68,7 +68,7 @@ @Override public void doLogout(String loginType, Object loginId, String tokenValue) { RedisUtils.deleteObject(Constants.ONLINE_TOKEN_KEY + tokenValue); - log.info("user doLogout, useId:{}, token:{}", loginId, tokenValue); + log.info("user doLogout, useId:{}, token:{}" , loginId, tokenValue); } /** @@ -77,7 +77,7 @@ @Override public void doKickout(String loginType, Object loginId, String tokenValue) { RedisUtils.deleteObject(Constants.ONLINE_TOKEN_KEY + tokenValue); - log.info("user doLogoutByLoginId, useId:{}, token:{}", loginId, tokenValue); + log.info("user doLogoutByLoginId, useId:{}, token:{}" , loginId, tokenValue); } /** @@ -86,7 +86,7 @@ @Override public void doReplaced(String loginType, Object loginId, String tokenValue) { RedisUtils.deleteObject(Constants.ONLINE_TOKEN_KEY + tokenValue); - log.info("user doReplaced, useId:{}, token:{}", loginId, tokenValue); + log.info("user doReplaced, useId:{}, token:{}" , loginId, tokenValue); } /** diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java index 556133c..174cd0f 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java @@ -2,7 +2,7 @@ import cn.dev33.satoken.dao.SaTokenDao; import cn.dev33.satoken.util.SaFoxUtil; -import com.ruoyi.common.utils.RedisUtils; +import com.ruoyi.common.utils.redis.RedisUtils; import org.springframework.stereotype.Component; import java.util.ArrayList; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java index 60979dd..cfa7243 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java @@ -3,13 +3,10 @@ import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotPermissionException; import cn.dev33.satoken.exception.NotRoleException; -import cn.dev33.satoken.stp.StpUtil; import cn.hutool.http.HttpStatus; -import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.exception.DemoModeException; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.RedisUtils; import com.ruoyi.common.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.context.support.DefaultMessageSourceResolvable; diff --git a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm index 279144d..02fe3ed 100644 --- a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm +++ b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm @@ -541,7 +541,7 @@ }); }, #if($table.sub) - /** ${subTable.functionName}搴忓彿 */ + /** ${subTable.functionName}搴忓彿 */ row${subClassName}Index({ row, rowIndex }) { row.index = rowIndex + 1; }, diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java index 3ef0900..0905ebc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java @@ -9,13 +9,13 @@ import com.ruoyi.common.enums.DeviceType; import com.ruoyi.common.enums.UserStatus; import com.ruoyi.common.enums.UserType; -import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.user.CaptchaException; import com.ruoyi.common.exception.user.CaptchaExpireException; import com.ruoyi.common.exception.user.UserException; import com.ruoyi.common.utils.*; -import lombok.extern.slf4j.Slf4j; +import com.ruoyi.common.utils.redis.RedisUtils; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @@ -110,7 +110,6 @@ * @param username 鐢ㄦ埛鍚� * @param code 楠岃瘉鐮� * @param uuid 鍞竴鏍囪瘑 - * @return 缁撴灉 */ public void validateCaptcha(String username, String code, String uuid, HttpServletRequest request) { String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java index 242befb..7062d96 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service.impl; import com.ruoyi.common.core.service.SensitiveService; +import com.ruoyi.common.utils.LoginUtils; import com.ruoyi.common.utils.SecurityUtils; import org.springframework.stereotype.Service; @@ -20,7 +21,7 @@ */ @Override public boolean isSensitive() { - return SecurityUtils.isAdmin(SecurityUtils.getUserId()); + return SecurityUtils.isAdmin(LoginUtils.getUserId()); } } -- Gitblit v1.9.3