登录关键字的session埋点
public String execute() throws Exception {
if (loginService != null && loginService.validate(username, password)) {
ActionContext ac = ActionContext.getContext();
<span style="color:#ff0000;">ac.getSession().put("u",username);
</span> System.out.print("set user string!");
return SUCCESS;
}
return INPUT;
}
拦截器
package com.xuefeng.ssh.action;
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 = 1358600090729208361L;
//拦截Action处理的拦截方法
public String intercept(ActionInvocation invocation) throws Exception {
// 取得请求相关的ActionContext实例
ActionContext ctx=invocation.getInvocationContext();
@SuppressWarnings("rawtypes")
Map session= ctx.getSession();
//取出名为user的session属性
<span style="color:#ff0000;">String u= (String) session.get("u");
</span> System.out.print("get user string+"+u);
//如果没有登陆,或者登陆所有的用户名不是aumy,都返回重新登陆
if(u!=null && u.equals("admin")){
System.out.println("intercept start");
return invocation.invoke();
}
//没有登陆,将服务器提示设置成一个HttpServletRequest属性
ctx.put("tip","您还没有登录,请登陆系统");
return Action.LOGIN;
}
}
我二二
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="default" namespace="/" extends="struts-default">
<span style="color:#ff0000;"> <interceptors>
<interceptor name="authority" class="com.xuefeng.ssh.action.AuthorityInterceptor"></interceptor>
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack"></interceptor-ref>
<span style="color:#ff0000;"><!--<interceptor-ref name="authority"></interceptor-ref>-->
</span> </interceptor-stack>
</interceptors>
<default-action-ref name="index" />
</span>
<action name="upload" class="com.xuefeng.ssh.action.UploadFileAction">
<result name="input" type="redirect">/listmember.action</result>
<result name="login" type="redirect">/login.jsp</result>
<result name="success" type="redirect">/listmember.action</result>
</action>
<action name="login" class="loginAction">
<result name="input" type="redirect">/listmember.action</result>
<result name="login" type="redirect">/login.jsp</result>
<result name="success" type="redirect">/listmember.action</result>
</action>
<action name="finduser" class="FindUserAction">
<result name="input" type="redirect">/login.jsp</result>
<result name="success">/find.jsp</result>
</action>
<action name="find" class="findAction">
<result name="input" type="redirect">/find.jsp</result>
<result name="success">/find.jsp</result>
</action>
<action name="listmember" class="listMemberAction">
<result name="input" type="redirect">/listMember.jsp</result>
<result name="success">/listMember.jsp</result>
<result name="login">/login.jsp</result>
<span style="color:#ff0000;"><!--<interceptor-ref name="authority"></interceptor-ref>-->
</span> </action>
<action name="add" class="addUserAction">
<result name="input" type="redirect">/listMember.jsp</result>
<result name="success">/listmember.action</result>
</action>
<action name="del" class="delUserAction">
<result name="input" type="redirect">/listMember.jsp</result>
<result name="success">/listMember.jsp</result>
</action>
<action name="edit" class="editUserAction">
<result name="input" type="redirect">/listMember.jsp</result>
<result name="success">/listMember.jsp</result>
</action>
<action name="finduserbyname" class="findUserByNameAction">
<result name="input" type="dispatcher">/find.jsp</result>
<result name="success" type="dispatcher">/find.jsp</result>
</action>
</package>
<include file="example.xml" />
<!-- Add packages here -->
<span style="color:#ff6666;"> <package name="struts-cms" extends="struts-default">
<span style="color:#ff0000;"><interceptors>
<interceptor name="authority" class="com.xuefeng.ssh.action.AuthorityInterceptor"></interceptor>
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack"></interceptor-ref>
<!--<interceptor-ref name="authority"></interceptor-ref>-->
</interceptor-stack>
</interceptors>
<!--<default-interceptor-ref name="authority"></default-interceptor-ref>-->
</span> </package>
</span></struts>