|
@@ -0,0 +1,60 @@
|
|
|
+/*
|
|
|
+ * Copyright (c) 2025 GaoKunW
|
|
|
+ *
|
|
|
+ */
|
|
|
+
|
|
|
+package org.eco.vip.security.utils;
|
|
|
+
|
|
|
+
|
|
|
+import cn.dev33.satoken.context.SaHolder;
|
|
|
+import cn.dev33.satoken.context.model.SaStorage;
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
+import cn.dev33.satoken.stp.parameter.SaLoginParameter;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import lombok.AccessLevel;
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
+import org.eco.vip.orm.pojo.LoginUser;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @description LoginHelper
|
|
|
+ *
|
|
|
+ * @author GaoKunW
|
|
|
+ * @date 2025/7/2 16:10
|
|
|
+ */
|
|
|
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
|
|
+public class LoginHelper {
|
|
|
+ public static final String LOGIN_USER_KEY = "loginUser";
|
|
|
+ public static final String TENANT_KEY = "tenantId";
|
|
|
+ public static final String USER_KEY = "userId";
|
|
|
+ public static final String USER_NAME_KEY = "userName";
|
|
|
+ public static final String USER_ACCOUNT_KEY = "account";
|
|
|
+ public static final String ORG_KEY = "orgId";
|
|
|
+ public static final String ORG_NAME_KEY = "orgName";
|
|
|
+ public static final String CLIENT_KEY = "clientId";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 登录系统 基于 设备类型
|
|
|
+ * 针对相同用户体系不同设备
|
|
|
+ *
|
|
|
+ * @param loginUser 登录用户信息
|
|
|
+ * @param model 配置参数
|
|
|
+ */
|
|
|
+ public static void login(LoginUser loginUser, SaLoginParameter model) {
|
|
|
+ SaStorage storage = SaHolder.getStorage();
|
|
|
+ storage.set(LOGIN_USER_KEY, loginUser);
|
|
|
+ storage.set(TENANT_KEY, loginUser.getTenantId());
|
|
|
+ storage.set(USER_KEY, loginUser.getUserId());
|
|
|
+ storage.set(ORG_KEY, loginUser.getOrgId());
|
|
|
+ model = ObjectUtil.defaultIfNull(model, new SaLoginParameter());
|
|
|
+ // 登录,生成token
|
|
|
+ StpUtil.login(loginUser.getLoginId(),
|
|
|
+ model.setExtra(TENANT_KEY, loginUser.getTenantId())
|
|
|
+ .setExtra(USER_KEY, loginUser.getUserId())
|
|
|
+ .setExtra(USER_NAME_KEY, loginUser.getUsername())
|
|
|
+ .setExtra(USER_ACCOUNT_KEY, loginUser.getAccount())
|
|
|
+ .setExtra(ORG_KEY, loginUser.getOrgId())
|
|
|
+ .setExtra(ORG_NAME_KEY, loginUser.getOrgName())
|
|
|
+ );
|
|
|
+ StpUtil.getTokenSession().set(LOGIN_USER_KEY, loginUser);
|
|
|
+ }
|
|
|
+}
|