//获取当前登录用户的用户名
AppSecurityUtils.obtainLoginedUsername()
//获取当前用户token
AppSecurityUtils.obtainAccessToken()
AppSecurityUtils.java
import org.apache.shiro.subject.Subject;
/**
* @author yangty
*
*/
public class AppSecurityUtils {
/**
* 获取当前登录用户的用户名
* @return
*/
public static String obtainLoginedUsername() {
Subject currentUser = org.apache.shiro.SecurityUtils.getSubject();
if(currentUser == null || currentUser.getPrincipal() == null) {
return "";
}
AppShiroUser shiroUser = (AppShiroUser)currentUser.getPrincipal();
return shiroUser.getId();
}
/**
* 获取当前用户token
*
* @return
*/
public static String obtainAccessToken() {
Subject currentUser = org.apache.shiro.SecurityUtils.getSubject();
if(currentUser == null || currentUser.getPrincipal() == null) {
return "";
}
AppShiroUser shiroUser = (AppShiroUser)currentUser.getPrincipal();
return shiroUser.getAccessToken();
}
}
AppShiroUser
import java.io.Serializable;
public class AppShiroUser implements Serializable{
/**
*
*/
private static final long serialVersionUID = 8494048657048720145L;
private String id; // 用户ID
private String accessToken; // 用户oauth授权accessToken
private String ipAddress;//用户登录的机器IP
public AppShiroUser(String id, String accessToken) {
super();
this.id = id;
this.accessToken = accessToken;
}
public String getId() {
return id;
}
public String getAccessToken() {
return accessToken;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
/**
* @return the ipAddress
*/
public String getIpAddress() {
return ipAddress;
}
/**
* @param ipAddress the ipAddress to set
*/
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
/**
* 本函数输出将作为默认的<shiro:principal/>输出.
*/
@Override
public String toString() {
return id;
}
}