package com.utils; import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import org.apache.shiro.SecurityUtils; import org.apache.shiro.session.mgt.eis.SessionDAO; import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import com.auth0.jwt.JWT; import com.system.user.entity.SysUser; import com.system.user.service.SysUserService; @Component public class UserUtil { @Autowired public SysUserService sysUserService ; private static UserUtil userUtil; public void setSysUserService(SysUserService sysUserService) { this.sysUserService = sysUserService; } @PostConstruct public void init(){ userUtil = this; userUtil.sysUserService = this.sysUserService; } /** * 获取当前登录用户 * @return * @throws Exception */ public static SysUser getCurrUser() throws Exception{ /* RequestAttributes ra = RequestContextHolder.getRequestAttributes(); ServletRequestAttributes sra = (ServletRequestAttributes) ra; HttpServletRequest request = sra.getRequest(); String token = request.getHeader("X-Token");// 从 http 请求头中取出 token if(token != null){ String userCode = JWT.decode(token).getAudience().get(0); return userUtil.sysUserService.findByUserCode(userCode); }*/ return null; } /** * 返回当前登录用户 * fyx * 2020-03-06 * @return * @throws Exception */ public static SysUser getSessionUser()throws Exception{ return (SysUser)SecurityUtils.getSubject().getPrincipal(); } }