日期:2014-05-17 浏览次数:20709 次
public class CheckLoginInterceptor implements Interceptor {
private String sessionAttribute;
private String reloginResult;
public void setSessionAttribute(String sessionAttribute) {
this.sessionAttribute = sessionAttribute;
}
public void setReloginResult(String reloginResult) {
this.reloginResult = reloginResult;
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void init() {
// TODO Auto-generated method stub
}
@SuppressWarnings("rawtypes")
@Override
public String intercept(ActionInvocation invocation) throws Exception {
// 读取session
Map session = invocation.getInvocationContext().getSession();
// 判断session中是否有相应的attribute
if (session.containsKey(sessionAttribute)) {
String resultCode = invocation.invoke();
return resultCode;
} else {
return reloginResult;
}
}
}
package org.ohshit.common.interceptors;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import org.springframework.stereotype.Component;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
/**
* 权限控制拦截器 对用户信息 进行查看 或者修改的操作 都将被拦截
* @author Tone
*
*/
@Component("OhShitPowerInterceptor")
public class OhShitPowerInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1L;
@Override
public String intercept(ActionInvocation actioninvocation) throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String url = request.getRequestURI();
//System.out.println("url:"+url);
Map<String,Object> session = actioninvocation.getInvocationContext().getSession();
if (url.indexOf("UserInfoAction")!=-1) {
if (session.get("LOGIN_USER")==null) {
request.setAttribute("nomsg", "请先登录");
return "login";