修改换token时获取权限问题
This commit is contained in:
@@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginSiteUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.core.redis.RedisCache;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.MessageUtils;
|
||||
import com.ruoyi.common.utils.encrypt.EncryptUtil;
|
||||
import com.ruoyi.common.utils.ip.IpUtils;
|
||||
@@ -29,6 +30,10 @@ import org.apache.http.impl.client.HttpClients;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -62,6 +67,9 @@ public class SsoService {
|
||||
@Autowired
|
||||
private SysUserRoleMapper sysUserRoleMapper;
|
||||
|
||||
@Autowired
|
||||
private UserDetailsService userDetailsService;
|
||||
|
||||
//一体机,pc个人,企业
|
||||
@Value("${lc_web_auth.appId}")
|
||||
String webAppId;
|
||||
@@ -372,14 +380,27 @@ public class SsoService {
|
||||
|
||||
//模拟登录sysuser
|
||||
public String loginSysUser(SysUser sysUser, String userName){
|
||||
LoginUser loginUser = new LoginUser();
|
||||
loginUser.setUserId(sysUser.getUserId());
|
||||
loginUser.setUser(sysUser);
|
||||
Authentication authentication = authenticateLocalUser(userName);
|
||||
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
|
||||
AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
||||
// 生成token
|
||||
return tokenService.createTokenHourTwo(loginUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户权限
|
||||
* @param localUsername
|
||||
* @return
|
||||
*/
|
||||
private Authentication authenticateLocalUser(String localUsername) {
|
||||
try {
|
||||
UserDetails userDetails = userDetailsService.loadUserByUsername(localUsername);
|
||||
return new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
|
||||
} catch (Exception e) {
|
||||
throw new ServiceException("本地用户认证失败:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
//获取用户信息
|
||||
private JSONObject getUserInfo(String url, String token, String params) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user