注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

..、、的博客

..、、

 
 
 

日志

 
 

SSH拦截器实现用户未登录禁止访问  

2014-05-26 15:03:40|  分类: java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一:编写拦截器

package com.sampleInfo.Interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

@SuppressWarnings("serial")
public class LoginInterceptor extends MethodFilterInterceptor{ //继承MethodFilterInterceptor

 @Override
 protected String doIntercept(ActionInvocation arg0) throws Exception {
  HttpServletRequest request = ServletActionContext.getRequest();
  HttpSession session = request.getSession();
  if(session == null || session.getAttribute("usersInfo") == null ){//session中判断用户是否登录
   return "login";
  }else{
   return arg0.invoke();
  }
 }

}

二:struts.xml配置文件

(1):配置拦截器

 <!-- 拦截器 -->
    <interceptors>
        <interceptor name="loginInterceptor" class="com.sampleInfo.Interceptor.LoginInterceptor" />//自己编写的拦截器
        <interceptor-stack name="logininterceptorStack" >//定义拦截器站
        <interceptor-ref name="defaultStack" />//默认拦截器
        <interceptor-ref name="loginInterceptor"/>//将编写拦截器加入拦截器站
        </interceptor-stack>
    </interceptors>
    <default-interceptor-ref name="logininterceptorStack" />//引用定义的拦截器站
    <global-results>//全局配置
     <!-- 下面定义的结果对所有的Action都有效 -->
     <result name="login">/login.jsp</result>//"login"为拦截器返回的字符串
    </global-results>

(2):实现拦截器的作用域与作用目标方法

 <!-- login S -->//登录Action
   <action name="LoginAction" class="com.sampleInfo.web.action.loginAction" method="login" >
  <result name="login" type="redirectAction">indexSample.action</result>//成功跳转到查询页面
  <result name="fail">/WEB-INF/jsp/rights/fail.jsp</result>//失败返回登录页面
  <interceptor-ref name="defaultStack" />
  <interceptor-ref name="loginInterceptor">
        <param name="excludeMethods">login</param>//暴漏的方法
   </interceptor-ref>
 </action>
 <!-- login E -->

  评论这张
 
阅读(442)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017