GZMachinesWeb/.svn/pristine/c1/c1647d3f6193c63a46d1ba2ad61...

65 lines
1.5 KiB
Plaintext

package com.bonus.sys;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import com.bonus.sys.beans.UserBean;
/**
* 封装shiro用对象获取
*
*/
public class UserShiroHelper {
/**
* 获取当前对象的拷贝
*
* @return
*/
public static UserBean getCurrentUser() {
UserBean customer = null;
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
if (null != session) {
Object obj = session.getAttribute(GlobalConst.SESSION_USER);
if (null != obj && obj instanceof UserBean) {
try {
/**
* 复制一份对象,防止被错误操作
*/
customer = (UserBean) BeanUtils.cloneBean((UserBean) obj);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return customer;
}
/**
* 获取当前真实的对象,可以进行操作实体
*
* @return
*/
public static UserBean getRealCurrentUser() {
UserBean customer = null;
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
if (null != session) {
Object obj = session.getAttribute(GlobalConst.SESSION_USER);
if (null != obj && obj instanceof UserBean) {
try {
/**
* 不复制一份对象,防止被错误操作
*/
customer = (UserBean) obj;
} catch (Exception e) {
e.printStackTrace();
}
}
}
return customer;
}
}