You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
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;
|
|
}
|
|
}
|