/*1.首先自定义一个LoginInterceptor类;并将在登陆时记录的session取出来,进行校验; *2.在structs中配置自定过滤器 */import java.util.Map;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.Interceptor;public class LoginInterceptor implements Interceptor { private String sessionAttribute; //登陆状态,structs.xml传来有默认值,即session存储的名字; private String reloginResult; //当检验失败时,返回默认值,也已经在structs中设置 public void setSessionAttribute(String sessionAttribute) {this.sessionAttribute = sessionAttribute;}public void setReloginResult(String reloginResult) {this.reloginResult = reloginResult;} public String intercept(ActionInvocation invocation) throws Exception { Map session=invocation.getInvocationContext().getSession(); //读取session if(session.containsKey(sessionAttribute)){ String resultCode=invocation.invoke(); return resultCode; }else{ return reloginResult; } }public void destroy() {// TODO Auto-generated method stub}public void init() {// TODO Auto-generated method stub} }//配置structs.xml login_user login /Admin/Login.jsp //再在所需要的action中使用,未将自定义过滤器设置为默认过滤器 /Admin/UserList.jsp /Admin/erroer.jsp
structs权限过滤器的实现
最新推荐文章于 2019-04-18 22:11:04 发布