前言
转载:https://blog.csdn.net/u012613251/article/details/81976941
代码实现
示例
package com.website.server.system.util.dto;
import com.core.server.entity.BaseUser;
import com.website.server.system.feign.AllFeignServiceApi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Component;
/**
* @author :qilong sun
* @date :Created in 2019/12/22 14:42
* @description:security工具类
* @modified By:
* @version: $1.0
*/
@Component
public class SecurityUtil {
@Autowired
public static AllFeignServiceApi allFeignServiceApi;
/**
* 获取用户ID
* @return
*/
public static Integer getUserId(){
SecurityContext ctx = SecurityContextHolder.getContext();
Authentication auth = ctx.getAuthentication();
User user = null;
if (auth.getPrincipal() instanceof UserDetails) {
user = (User)auth.getPrincipal();
}
BaseUser baseUser = allFeignServiceApi.baseUserFeignServiceApi.queryBaseUserByUsername(user.getUsername());
return baseUser.getId();
}
@Autowired
public void setAllFeignServiceApi(AllFeignServiceApi allFeignServiceApi) {
SecurityUtil.allFeignServiceApi = allFeignServiceApi;
}
}