From a25037d44427756e6ab9dd0ed1360425d660362a Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期三, 15 一月 2025 15:41:42 +0800 Subject: [PATCH] * --- src/main/java/com/zy/common/web/AuthController.java | 196 +++++++++++++++++++++++++++++++----------------- 1 files changed, 125 insertions(+), 71 deletions(-) diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java index badc290..103fb78 100644 --- a/src/main/java/com/zy/common/web/AuthController.java +++ b/src/main/java/com/zy/common/web/AuthController.java @@ -4,22 +4,19 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.annotations.ManagerAuth; -import com.core.common.Cools; -import com.core.common.R; +import com.core.common.*; import com.core.exception.CoolException; import com.zy.common.CodeRes; import com.zy.common.entity.Parameter; import com.zy.common.model.PowerDto; import com.zy.common.utils.RandomValidateCodeUtil; import com.zy.system.entity.*; +import com.zy.system.entity.license.LicenseVerify; import com.zy.system.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.*; @@ -49,15 +46,21 @@ @RequestMapping("/login.action") @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "鐧诲綍") - public R loginAction(String mobile, String password){ - if (mobile.equals("super") && password.equals(Cools.md5(superPwd))) { + public R loginAction(String username, String password){ + //楠岃瘉璁稿彲璇佹槸鍚︽湁鏁� + LicenseVerify licenseVerify = new LicenseVerify(); + boolean verify = licenseVerify.verify(); + if (!verify) {//璁稿彲璇佸凡澶辨晥 + return R.parse(CodeRes.SYSTEM_20001); + } + if (username.equals("super") && password.equals(Cools.md5(superPwd))) { Map<String, Object> res = new HashMap<>(); - res.put("username", mobile); - res.put("token", Cools.enToken(System.currentTimeMillis() + mobile, superPwd)); + res.put("username", username); + res.put("token", Cools.enToken(System.currentTimeMillis() + username, superPwd)); return R.ok(res); } EntityWrapper<User> userWrapper = new EntityWrapper<>(); - userWrapper.eq("mobile", mobile); + userWrapper.eq("username", username); User user = userService.selectOne(userWrapper); if (Cools.isEmpty(user)){ return R.parse(CodeRes.USER_10001); @@ -68,11 +71,12 @@ if (!user.getPassword().equals(password)){ return R.parse(CodeRes.USER_10003); } - String token = Cools.enToken(System.currentTimeMillis() + mobile, user.getPassword()); + String token = Cools.enToken(System.currentTimeMillis() + username, user.getPassword()); userLoginService.delete(new EntityWrapper<UserLogin>().eq("user_id", user.getId())); UserLogin userLogin = new UserLogin(); userLogin.setUserId(user.getId()); userLogin.setToken(token); + userLogin.setCreateTime(new Date()); userLoginService.insert(userLogin); Map<String, Object> res = new HashMap<>(); res.put("username", user.getUsername()); @@ -113,64 +117,71 @@ return R.ok(userService.selectById(getUserId())); } - @RequestMapping("/menu/auth") - @ManagerAuth(memo = "棣栭〉鑿滃崟") - public R menu(){ - // 鑾峰彇鎵�鏈変竴绾ц彍鍗� - List<Resource> oneLevel = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 1).eq("status", 1).orderBy("sort")); - User user = null; - Wrapper<Resource> resourceWrapper; - if (getUserId() == 9527) { - resourceWrapper = new EntityWrapper<Resource>().eq("level", 2).eq("status", 1).orderBy("sort"); - } else { - // 鑾峰彇褰撳墠鐢ㄦ埛鐨勬墍鏈変簩绾ц彍鍗� - user = userService.selectById(getUserId()); - List<RoleResource> roleResources = roleResourceService.selectList(new EntityWrapper<RoleResource>().eq("role_id", user.getRoleId())); - List<Long> resourceIds = new ArrayList<>(); - roleResources.forEach(roleResource -> resourceIds.add(roleResource.getResourceId())); - if (resourceIds.isEmpty()){ - return R.ok(); - } - resourceWrapper = new EntityWrapper<Resource>().in("id", resourceIds).eq("level", 2).eq("status", 1).orderBy("sort"); - } - List<Resource> twoLevel = resourceService.selectList(resourceWrapper); - List<Map<String, Object>> result = new ArrayList<>(); - for (Resource menu : oneLevel) { - Map<String, Object> map = new HashMap<>(); - List<Resource> subMenu = new ArrayList<>(); - Iterator<Resource> iterator = twoLevel.iterator(); - while (iterator.hasNext()) { - Resource resource = iterator.next(); - if (resource.getResourceId() != null && resource.getResourceId().equals(menu.getId())) { - - // 鏄惁鎷ユ湁鏌ョ湅鏉冮檺 - if (getUserId() != 9527) { - Resource view = resourceService.selectOne(new EntityWrapper<Resource>().eq("resource_id", resource.getId()).like("code", "view")); - if (!Cools.isEmpty(view)){ - RoleResource param = new RoleResource(); - param.setResourceId(view.getId()); - param.setRoleId(user.getRoleId()); - if (null == roleResourceService.selectOne(new EntityWrapper<>(param))){ - continue; - } - } - } - - subMenu.add(resource); - iterator.remove(); - } - } - if (subMenu.isEmpty()) { - continue; - } - map.put("menuId", menu.getId()); - map.put("menuCode", menu.getCode()); - map.put("menu", menu.getName()); - map.put("subMenu", subMenu); - result.add(map); - } - return R.ok(result); - } +// @RequestMapping("/menu/auth") +// @ManagerAuth +// public R menu(){ +// // 鑾峰彇鎵�鏈変竴绾ц彍鍗� +// List<Resource> oneLevel; +// User user = null; +// Wrapper<Resource> resourceWrapper; +// if (getUserId() == 9527) { +// oneLevel = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 1).orderBy("sort")); +// resourceWrapper = new EntityWrapper<Resource>().eq("level", 2).eq("status", 1).orderBy("sort"); +// } else { +// // 婵�娲荤爜楠岃瘉 +// if (!SystemProperties.SYSTEM_ACTIVATION) { +// return R.ok(); +// } +// oneLevel = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 1).eq("status", 1).orderBy("sort")); +// // 鑾峰彇褰撳墠鐢ㄦ埛鐨勬墍鏈変簩绾ц彍鍗� +// user = userService.selectById(getUserId()); +// List<RoleResource> roleResources = roleResourceService.selectList(new EntityWrapper<RoleResource>().eq("role_id", user.getRoleId())); +// List<Long> resourceIds = new ArrayList<>(); +// roleResources.forEach(roleResource -> resourceIds.add(roleResource.getResourceId())); +// if (resourceIds.isEmpty()){ +// return R.ok(); +// } +// resourceWrapper = new EntityWrapper<Resource>().in("id", resourceIds).eq("level", 2).eq("status", 1).orderBy("sort"); +// } +// List<Resource> twoLevel = resourceService.selectList(resourceWrapper); +// List<Map<String, Object>> result = new ArrayList<>(); +// for (Resource menu : oneLevel) { +// Map<String, Object> map = new HashMap<>(); +// List<Resource> subMenu = new ArrayList<>(); +// Iterator<Resource> iterator = twoLevel.iterator(); +// while (iterator.hasNext()) { +// Resource resource = iterator.next(); +// if (resource.getResourceId() != null && resource.getResourceId().equals(menu.getId())) { +// +// // 鏄惁鎷ユ湁鏌ョ湅鏉冮檺 +// if (getUserId() != 9527) { +// Resource view = resourceService.selectOne(new EntityWrapper<Resource>().eq("resource_id", resource.getId()).like("code", "#view")); +// if (!Cools.isEmpty(view)){ +// RoleResource param = new RoleResource(); +// param.setResourceId(view.getId()); +// param.setRoleId(user.getRoleId()); +// if (null == roleResourceService.selectOne(new EntityWrapper<>(param))){ +// continue; +// } +// } +// } +// +// subMenu.add(resource); +// iterator.remove(); +// } +// } +// if (subMenu.isEmpty()) { +// continue; +// } +// map.put("menuId", menu.getId()); +// map.put("menuCode", menu.getCode()); +// map.put("menuIcon", HtmlNavIconType.get(menu.getCode())); +// map.put("menu", menu.getName()); +// map.put("subMenu", subMenu); +// result.add(map); +// } +// return R.ok(result); +// } @RequestMapping("/power/list/auth") @ManagerAuth @@ -323,6 +334,49 @@ } return R.ok(resources); } - +// +// @GetMapping(value = "/system/activation/auth") +// public R activation() { +// if (SystemProperties.SYSTEM_ACTIVATION) { +// String activationCode = SystemProperties.getActivationCode(OSinfo.getOSname().getActivationCodePath()); +// String timeStr = AesUtils.decrypt(activationCode, SystemProperties.SALT); +// if (null == timeStr) { +// SystemProperties.SYSTEM_ACTIVATION = Boolean.FALSE; +// return R.error(); +// } +// Date exprTime = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss); +// if (new Date().getTime() < exprTime.getTime()) { +// return R.ok().add(DateUtils.convert(exprTime)); +// } else { +// SystemProperties.SYSTEM_ACTIVATION = Boolean.FALSE; +// return R.error(); +// } +// } else { +// return R.error(); +// } +// } +// +// @PostMapping(value = "/system/secret/auth") +// @ManagerAuth +// public R systemSecret(@RequestParam(value = "secret") String secret) { +// if (Cools.isEmpty(secret)) { +// return R.error("璇疯緭鍏ユ縺娲荤爜"); +// } +// // 楠岃瘉婵�娲荤爜 +// String timeStr = AesUtils.decrypt(secret, SystemProperties.SALT); +// if (null == timeStr) { +// return R.error("婵�娲荤爜閿欒"); +// } +// Date exprTime = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss); +// if (new Date().getTime() >= exprTime.getTime()) { +// return R.error("婵�娲荤爜宸插け鏁�"); +// } +// boolean result = SystemProperties.saveActivationCode(OSinfo.getOSname().getActivationCodePath(), secret); +// if (!result) { +// return R.error("婵�娲诲け璐�"); +// } +// SystemProperties.SYSTEM_ACTIVATION = Boolean.TRUE; +// return R.ok("婵�娲绘垚鍔燂紝鏈夋晥鏈熻嚦"+DateUtils.convert(exprTime)); +// } } -- Gitblit v1.9.1