34 lines
1.1 KiB
Java
34 lines
1.1 KiB
Java
package com.zhangmeng.online.exam.utils;
|
|
|
|
import com.zhangmeng.jwt.dto.LoginUser;
|
|
import org.springframework.security.authentication.AnonymousAuthenticationToken;
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
import org.springframework.security.core.Authentication;
|
|
import org.springframework.security.core.context.SecurityContextHolder;
|
|
|
|
/**
|
|
* @author zm
|
|
* @date 2025/4/6 16:21
|
|
* @version: 1.0
|
|
*/
|
|
public class UserUtils {
|
|
|
|
public static Long getCurrentUserId() {
|
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
|
LoginUser loginUser = null;
|
|
if (authentication != null) {
|
|
if (authentication instanceof AnonymousAuthenticationToken) {
|
|
return null;
|
|
}
|
|
|
|
if (authentication instanceof UsernamePasswordAuthenticationToken) {
|
|
loginUser = (LoginUser) authentication.getPrincipal();
|
|
}
|
|
}
|
|
if (loginUser != null){
|
|
return loginUser.getId();
|
|
}
|
|
return null;
|
|
}
|
|
}
|