Pre Merge pull request !676 from chengliejian/获取LoginUser基于loginId
This commit is contained in:
commit
c2055cd8d7
@ -1,11 +1,13 @@
|
||||
package org.dromara.common.satoken.utils;
|
||||
|
||||
import cn.dev33.satoken.session.SaSession;
|
||||
import cn.dev33.satoken.stp.SaLoginModel;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.dev33.satoken.stp.parameter.SaLoginParameter;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.dromara.common.core.constant.SystemConstants;
|
||||
@ -84,6 +86,27 @@ public class LoginHelper {
|
||||
return (T) session.get(LOGIN_USER_KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取LoginUser基于loginId和deviceType
|
||||
*/
|
||||
public static <T extends LoginUser> T getLoginUserByLoginIdAndDeviceType(Object loginId,String deviceType) {
|
||||
String value = StpUtil.getTokenValueByLoginId(loginId,deviceType);
|
||||
if (StrUtil.isBlank(value)){
|
||||
return null;
|
||||
}
|
||||
SaSession session = StpUtil.getTokenSessionByToken(value);
|
||||
if (ObjectUtil.isNull(session)) {
|
||||
return null;
|
||||
}
|
||||
return (T) session.get(LOGIN_USER_KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取LoginUser基于loginId
|
||||
*/
|
||||
public static <T extends LoginUser> T getLoginUserByLoginId(Object loginId) {
|
||||
return getLoginUserByLoginIdAndDeviceType(loginId, null);
|
||||
}
|
||||
/**
|
||||
* 获取用户id
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user