package com.gkhy.assess.system.utils; import cn.hutool.core.util.ObjectUtil; import com.gkhy.assess.system.domain.SysUser; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; import org.springframework.beans.BeanUtils; public class ShiroUtils { public static Subject getSubject() { return SecurityUtils.getSubject(); } public static String getIp() { String host=getSubject().getSession().getHost(); if(StringUtils.isEmpty(host)){ return ""; } return host.substring(0,host.length()>=128?128:host.length()); } public static Long getUserId() { return getSysUser()!=null?getSysUser().getId().longValue():null; } public static SysUser getSysUser() { SysUser user = null; Object obj = getSubject().getPrincipal(); if (ObjectUtil.isNotNull(obj)) { user = new SysUser(); BeanUtils.copyProperties(obj, user); } return user; } }