fix:优化sso

master
HuangHuiKang 2 months ago
parent bf1ef73af0
commit d1d4f6c472

@ -11,6 +11,7 @@ import cn.dev33.satoken.sso.template.SaSsoServerUtil;
import cn.dev33.satoken.stp.SaLoginConfig; import cn.dev33.satoken.stp.SaLoginConfig;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaResult; import cn.dev33.satoken.util.SaResult;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ngskcloud.constant.SystemConstant; import com.ngskcloud.constant.SystemConstant;
import com.ngskcloud.entity.AdminUser; import com.ngskcloud.entity.AdminUser;
import com.ngskcloud.entity.User; import com.ngskcloud.entity.User;
@ -200,10 +201,10 @@ public class SsoServerController {
} }
private SaResult getAdminToken(Long userId,Integer identity) { private SaResult getAdminToken(Long userId,Integer identity) {
AdminUser adminUser = adminUserService.findById(userId); User user = userService.find(userId);
StpUtil.login( StpUtil.login(
adminUser.getId(), user.getAdminUser(),
SaLoginConfig.setExtra("url", RequestUtil.url()) SaLoginConfig.setExtra("url", RequestUtil.url())
.setExtra("prv", SystemConstant.JWT_PRV_ADMIN_USER) .setExtra("prv", SystemConstant.JWT_PRV_ADMIN_USER)
@ -220,7 +221,11 @@ public class SsoServerController {
} }
private SaResult getUserToken(Long userId) { private SaResult getUserToken(Long userId) {
User user = userService.find(userId); LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getAdminUser, userId)
.orderByDesc(User::getCreatedAt)
.last("LIMIT 1");
User user = userService.getOne(wrapper);
StpUtil.login( StpUtil.login(
user.getId(), user.getId(),

@ -5,7 +5,7 @@ server:
############## Sa-Token 配置 (文档: https://sa-token.cc) ############## ############## Sa-Token 配置 (文档: https://sa-token.cc) ##############
sa-token: sa-token:
# token 名称(同时也是 cookie 名称) # token 名称(同时也是 cookie 名称)
token-name: satoken token-name: Authorization
# token 有效期(单位:秒) 默认30天-1 代表永久有效 # token 有效期(单位:秒) 默认30天-1 代表永久有效
timeout: 1296000 timeout: 1296000
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结 # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结

Loading…
Cancel
Save