From 553c29ab8a46c9a07e3657fdd36a81a6bfde1afe Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 23 九月 2021 19:13:58 +0800 Subject: [PATCH] update 整合 satoken 权限、鉴权一体化框架 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 39 +++++++++++++++------------------------ 1 files changed, 15 insertions(+), 24 deletions(-) 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 addb951..f080bbb 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 @@ -1,6 +1,8 @@ package com.ruoyi.web.controller.system; +import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.UserConstants; @@ -9,21 +11,17 @@ import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.domain.vo.SysUserExportVo; import com.ruoyi.system.domain.vo.SysUserImportVo; import com.ruoyi.system.service.ISysPostService; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -53,13 +51,10 @@ @Autowired private ISysPostService postService; - @Autowired - private TokenService tokenService; - /** * 鑾峰彇鐢ㄦ埛鍒楄〃 */ - @PreAuthorize("@ss.hasPermi('system:user:list')") + @SaCheckPermission("system:user:list") @GetMapping("/list") public TableDataInfo list(SysUser user) { @@ -67,7 +62,7 @@ } @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT) - @PreAuthorize("@ss.hasPermi('system:user:export')") + @SaCheckPermission("system:user:export") @GetMapping("/export") public void export(SysUser user, HttpServletResponse response) { @@ -85,14 +80,13 @@ } @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.IMPORT) - @PreAuthorize("@ss.hasPermi('system:user:import')") + @SaCheckPermission("system:user:import") @PostMapping("/importData") public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { List<SysUserImportVo> userListVo = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class); List<SysUser> userList = BeanUtil.copyToList(userListVo, SysUser.class); - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - String operName = loginUser.getUsername(); + String operName = userService.getById(getUserId()).getUserName(); String message = userService.importUser(userList, updateSupport, operName); return AjaxResult.success(message); } @@ -106,10 +100,11 @@ /** * 鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇璇︾粏淇℃伅 */ - @PreAuthorize("@ss.hasPermi('system:user:query')") + @SaCheckPermission("system:user:query") @GetMapping(value = { "/", "/{userId}" }) public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long 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())); @@ -126,7 +121,7 @@ /** * 鏂板鐢ㄦ埛 */ - @PreAuthorize("@ss.hasPermi('system:user:add')") + @SaCheckPermission("system:user:add") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@Validated @RequestBody SysUser user) @@ -145,7 +140,6 @@ { return AjaxResult.error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岄偖绠辫处鍙峰凡瀛樺湪"); } - user.setCreateBy(getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); return toAjax(userService.insertUser(user)); } @@ -153,7 +147,7 @@ /** * 淇敼鐢ㄦ埛 */ - @PreAuthorize("@ss.hasPermi('system:user:edit')") + @SaCheckPermission("system:user:edit") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@Validated @RequestBody SysUser user) @@ -169,14 +163,13 @@ { return AjaxResult.error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岄偖绠辫处鍙峰凡瀛樺湪"); } - user.setUpdateBy(getUsername()); return toAjax(userService.updateUser(user)); } /** * 鍒犻櫎鐢ㄦ埛 */ - @PreAuthorize("@ss.hasPermi('system:user:remove')") + @SaCheckPermission("system:user:remove") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.DELETE) @DeleteMapping("/{userIds}") public AjaxResult remove(@PathVariable Long[] userIds) @@ -191,34 +184,32 @@ /** * 閲嶇疆瀵嗙爜 */ - @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") + @SaCheckPermission("system:user:resetPwd") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") public AjaxResult resetPwd(@RequestBody SysUser user) { userService.checkUserAllowed(user); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - user.setUpdateBy(getUsername()); return toAjax(userService.resetPwd(user)); } /** * 鐘舵�佷慨鏀� */ - @PreAuthorize("@ss.hasPermi('system:user:edit')") + @SaCheckPermission("system:user:edit") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") public AjaxResult changeStatus(@RequestBody SysUser user) { userService.checkUserAllowed(user); - user.setUpdateBy(getUsername()); return toAjax(userService.updateUserStatus(user)); } /** * 鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇鎺堟潈瑙掕壊 */ - @PreAuthorize("@ss.hasPermi('system:user:query')") + @SaCheckPermission("system:user:query") @GetMapping("/authRole/{userId}") public AjaxResult authRole(@PathVariable("userId") Long userId) { @@ -233,7 +224,7 @@ /** * 鐢ㄦ埛鎺堟潈瑙掕壊 */ - @PreAuthorize("@ss.hasPermi('system:user:edit')") + @SaCheckPermission("system:user:edit") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.GRANT) @PutMapping("/authRole") public AjaxResult insertAuthRole(Long userId, Long[] roleIds) -- Gitblit v1.9.3