content: package com.java2nb.common.utils;
  
  import com.java2nb.system.domain.UserToken;
  import org.apache.commons.beanutils.BeanUtils;
  import org.apache.shiro.SecurityUtils;
  import org.apache.shiro.session.Session;
  import org.apache.shiro.session.mgt.eis.SessionDAO;
  import org.apache.shiro.subject.Subject;
  
  import com.java2nb.system.domain.UserDO;
  import org.springframework.beans.factory.annotation.Autowired;
  
  import java.lang.reflect.InvocationTargetException;
  import java.security.Principal;
  import java.util.Collection;
  import java.util.List;
  
  public class ShiroUtils {
      @Autowired
      private static SessionDAO sessionDAO;
  
      public static Subject getSubjct() {
          return SecurityUtils.getSubject();
      }
      public static UserDO getUser() {
          Object object = getSubjct().getPrincipal();
          return (UserDO)object;
      }
      public static Long getUserId() {
          return getUser().getUserId();
      }
      public static void logout() {
          getSubjct().logout();
      }
  
      public static List<Principal> getPrinciples() {
          List<Principal> principals = null;
          Collection<Session> sessions = sessionDAO.getActiveSessions();
          return principals;
      }
  }
  