struts2通过拦截器实现用户权限验证

在需要验证的包上加上配置

 

<interceptors>
   <!-- 定义了一个名为mylogin的拦截器 -->
   <interceptor name="mylogin" class="Action.LogonInterceptor" />
   <interceptor-stack name="logintest">
    <interceptor-ref name="mylogin" />
    <interceptor-ref name="paramsPrepareParamsStack" />
   </interceptor-stack>
  </interceptors>

  <!-- 默认执行的拦截器 -->
  <default-interceptor-ref name="logintest" />

  <global-results>
   <!-- 当返回login视图名时,转入/login.jsp页面 -->
   <result name="login" type="redirect">/login.jsp</result>
  </global-results>

 

 

 

 

 

 

/**
 *
 */
package Action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

/**
 * @author hbl//用户登陆权限验证;
 *
 */
public class LogonInterceptor extends AbstractInterceptor  {
  public String intercept(ActionInvocation invocation) throws Exception {  
         // 取得请求相关的ActionContext实例  
         ActionContext ctx=invocation.getInvocationContext();
         if(ctx.getSession().get("userinfo")==null)//未登陆
         {
          // return invocation.invoke();
          return "login";
          
         }
          return invocation.invoke();
     }  


}

第一次使用,只是简单的测试,用户的session,作个标记。

 

 

 

 

posted @ 2008-08-20 18:40  山里人家  阅读(1798)  评论(0编辑  收藏  举报