求大神指导写一个struts2拦截器判断登陆,登录后返回登录前操作

 我来答
程序员在思考
2012-06-06 · 知道合伙人互联网行家
程序员在思考
知道合伙人互联网行家
采纳数:347 获赞数:784
毕业于吉林大学计算机科学与技术学院,硕士学位。从事IT互联网工作12年,现任银行产品架构师、高级项目经理

向TA提问 私信TA
展开全部
package com.epower.fw.interceptor;

import java.util.Map;

import com.epower.util.Constants;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class LoginCheck extends AbstractInterceptor {

private static final long serialVersionUID = 1L;
private String escapeActions;
public String intercept(ActionInvocation invocation) throws Exception {
//取得与请求相关的ActionContext
ActionContext ctx = invocation.getInvocationContext();
//取得session
Map<String,Object> session = ctx.getSession();

String[] temp = invocation.getAction().toString().split("\\.");
String action = temp[temp.length-1].split("@")[0];
boolean escape=false;
if(escapeActions!=null){
for(String name:escapeActions.split(",")){
if(name.equals(action)){
escape=true;
break;
}
}
}
String userCode = (String)session.get(Constants.SYS_USERCODE);
// System.out.println("INTERCEPTOR LOGINCHECK:"+(userCode!=null)+" USERCODE="+userCode);
//没有登录返回login页面
if(escape || userCode != null ){
return invocation.invoke();
}else{
return "login";
}
}
public String getEscapeActions() {
return escapeActions;
}
public void setEscapeActions(String escapeActions) {
this.escapeActions = escapeActions;
}
}
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
Xwin1989
2012-06-06 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:81.5万
展开全部
基本上就是楼上的了。。。

不过还有重要的一点。。struts2配置文件 你每一个Action都需要加上权限拦截器。也就是上面定义的。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式