package iterceptor;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class AuthorityInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1L;
// 拦截Action处理的拦截方法
public String intercept(ActionInvocation invocation) throws Exception {
// 取得请求相关的ActionContext实例
ActionContext ctx = invocation.getInvocationContext();
Map session = ctx.getSession();
// 取出名为user的Session属性
String user = (String) session.get("username");
try{
System.out.println("得到的用户名是: "+user);
}catch(Exception ex){
System.out.println("异常: "+ex.toString());
}
// 如果没有登陆,或者登陆所用的用户名不是scott,都返回重新登陆
if (user != null && user.equals("weiqingli")) {
return invocation.invoke();
}
// 没有登陆,将服务器提示设置成一个HttpServletRequest属性
ctx.put("tip", "您还没有登陆,请输入scott,tiger登陆系统");
// 直接返回login的逻辑视图
return Action.LOGIN;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
前往页