From 28d09e63b65bf17af088fc29b5047348550a3ce1 Mon Sep 17 00:00:00 2001 From: liuyiliang Date: Mon, 22 Jul 2024 12:48:47 +0800 Subject: [PATCH] sso --- src/main/java/org/energy/core/secure/AuthInfo.java | 4 ++++ .../energy/modules/auth/controller/AuthController.java | 2 ++ .../java/org/energy/modules/auth/utils/TokenUtil.java | 1 + .../java/org/energy/modules/system/entity/UserInfo.java | 7 +++++++ .../modules/system/service/impl/UserServiceImpl.java | 8 ++++++++ 5 files changed, 22 insertions(+) diff --git a/src/main/java/org/energy/core/secure/AuthInfo.java b/src/main/java/org/energy/core/secure/AuthInfo.java index dfac768..102d624 100644 --- a/src/main/java/org/energy/core/secure/AuthInfo.java +++ b/src/main/java/org/energy/core/secure/AuthInfo.java @@ -20,6 +20,9 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.energy.modules.system.vo.MenuVO; + +import java.util.List; /** * AuthInfo @@ -54,4 +57,5 @@ public class AuthInfo { private long expiresIn; @ApiModelProperty(value = "许可证") private String license = "powered by daf"; + private List roleMenus; } diff --git a/src/main/java/org/energy/modules/auth/controller/AuthController.java b/src/main/java/org/energy/modules/auth/controller/AuthController.java index d7e7f1d..48bfb11 100644 --- a/src/main/java/org/energy/modules/auth/controller/AuthController.java +++ b/src/main/java/org/energy/modules/auth/controller/AuthController.java @@ -34,6 +34,7 @@ import org.energy.modules.auth.granter.TokenParameter; import org.energy.modules.auth.utils.TokenUtil; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -50,6 +51,7 @@ public class AuthController { private RedisUtil redisUtil; + @PostMapping("token") @ApiOperation(value = "获取认证token", notes = "传入租户ID:tenantId,账号:account,密码:password") public R token(@ApiParam(value = "授权类型", required = true) @RequestParam(defaultValue = "password", required = false) String grantType, diff --git a/src/main/java/org/energy/modules/auth/utils/TokenUtil.java b/src/main/java/org/energy/modules/auth/utils/TokenUtil.java index d1d34b8..3e83c30 100644 --- a/src/main/java/org/energy/modules/auth/utils/TokenUtil.java +++ b/src/main/java/org/energy/modules/auth/utils/TokenUtil.java @@ -79,6 +79,7 @@ public class TokenUtil { authInfo.setRefreshToken(createRefreshToken(userInfo).getToken()); authInfo.setTokenType(TokenConstant.BEARER); authInfo.setLicense(TokenConstant.LICENSE_NAME); + authInfo.setRoleMenus(userInfo.getRoleMenus()); return authInfo; } diff --git a/src/main/java/org/energy/modules/system/entity/UserInfo.java b/src/main/java/org/energy/modules/system/entity/UserInfo.java index 2439d57..cfd79a5 100644 --- a/src/main/java/org/energy/modules/system/entity/UserInfo.java +++ b/src/main/java/org/energy/modules/system/entity/UserInfo.java @@ -18,6 +18,7 @@ package org.energy.modules.system.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.energy.modules.system.vo.MenuVO; import java.io.Serializable; import java.util.List; @@ -57,4 +58,10 @@ public class UserInfo implements Serializable { @ApiModelProperty(value = "第三方授权id") private String oauthId; + /** + * 角色菜单 + */ + @ApiModelProperty(value = "角色菜单") + private List roleMenus; + } diff --git a/src/main/java/org/energy/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/energy/modules/system/service/impl/UserServiceImpl.java index 5e03524..28c17bc 100644 --- a/src/main/java/org/energy/modules/system/service/impl/UserServiceImpl.java +++ b/src/main/java/org/energy/modules/system/service/impl/UserServiceImpl.java @@ -35,6 +35,9 @@ import org.energy.modules.system.mapper.UserMapper; import org.energy.modules.system.service.*; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.energy.modules.system.service.IMenuService; +import org.energy.modules.system.vo.MenuVO; +import com.dayu.daf.core.secure.DafUser; import java.util.Collections; import java.util.List; @@ -56,6 +59,7 @@ public class UserServiceImpl extends BaseServiceImpl implement private IRoleService roleService; private IUserOauthService userOauthService; private ITenantService tenantService; + private IMenuService menuService; @Override public boolean submit(User user) { @@ -95,6 +99,8 @@ public class UserServiceImpl extends BaseServiceImpl implement List roleAlias = baseMapper.getRoleAlias(Func.toLongList(user.getRoleId())); userInfo.setRoles(roleAlias); } + List list = menuService.routes(userInfo.getUser().getRoleId()); + userInfo.setRoleMenus(list); return userInfo; } @@ -232,6 +238,8 @@ public class UserServiceImpl extends BaseServiceImpl implement List roleAlias = baseMapper.getRoleAlias(Func.toLongList(user.getRoleId())); userInfo.setRoles(roleAlias); } + List list = menuService.routes(userInfo.getUser().getRoleId()); + userInfo.setRoleMenus(list); return userInfo; } }