package com.aqroid.dataprocess.auth.controller; import com.aqroid.dataprocess.mybatisPlus.dto.KmSystemStaffDto; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ModelAttribute; /** * 将用户注入到 req Model 里面方便在controller里面直接注入 * @author dost */ @ControllerAdvice public class AuthenticationAdvice { @ModelAttribute public KmSystemStaffDto staff() { return handleStaff(); } public static KmSystemStaffDto handleStaff() { return (KmSystemStaffDto) (SecurityContextHolder.getContext().getAuthentication() == null || SecurityContextHolder.getContext().getAuthentication().getPrincipal() == null || (SecurityContextHolder.getContext().getAuthentication().getPrincipal() instanceof String) ? null : SecurityContextHolder.getContext().getAuthentication().getPrincipal()); } }