用攔截器實現(xiàn)登錄驗證功能AuthorizationInterceptor
          package com.interceptor;   
            
          import com.opensymphony.xwork2.ActionInvocation;   
          import com.opensymphony.xwork2.interceptor.*;   
          import com.opensymphony.xwork2.*;   
          import java.util.*;   
          /**  
           * 
          @author http://xp9802.iteye.com/  
           
          */
            
          public class AuthorizationInterceptor extends AbstractInterceptor {   
              
          private String ignoreActions;   
            
              
          // ignoreActions屬性的getter方法   
              public String getIgnoreActios() {   
                  
          return ignoreActions;   
              }
             
            
              
          // ignoreActions屬性的setter方法   
              public void setIgnoreActions(String ignoreActions) {   
                  
          this.ignoreActions = ignoreActions;   
              }
             
            
              @Override  
              
          public String intercept(ActionInvocation invocation) throws Exception {   
                  ActionContext ctx 
          = invocation.getInvocationContext();   
            
                  Map session 
          = ctx.getSession();   
                  String user 
          = (String) session.get("username");   
            
                  
          boolean ignore = false;   
                  String currentAction 
          = invocation.getProxy().getActionName();   
                  String[] actions 
          = ignoreActions.split(",");   
            
                  
          for (String action : actions) {   
                      
          if (currentAction.matches(action.trim())) {   
                          ignore 
          = true;   
                          
          break;   
                      }
             
                  }
             
            
                  
          if (user != null || ignore == true{   
            
                      
          return invocation.invoke();   
                  }
           else {   
                      
          return Action
          <interceptors>    
              
          <interceptor name="authorization" class="com.interceptor.AuthorizationInterceptor" />    
              
          <interceptor-stack name="myStack">    
                  
          <interceptor-ref name="authorization">    
                      
          <param name="ignoreActions"> validate_code,register.*,.*login.*,upload,connector</param>    
               
          </interceptor-ref> <interceptor-ref name="defaultStack" />   
          </interceptor-stack>    
          lt;/interceptors>    
          <default-interceptor-ref name="myStack"/>  
          .LOGIN;   
                  }
             
            
              }
             
          }
            

          在struts.xml文件里面配置該攔截器:



          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          posts - 34, comments - 38, trackbacks - 0, articles - 0

          Copyright © 陳小東

          主站蜘蛛池模板: 三河市| 托克逊县| 广河县| 沂南县| 岳阳县| 泉州市| 灌阳县| 扶风县| 湾仔区| 台中县| 社旗县| 廉江市| 大冶市| 泰顺县| 洮南市| 西青区| 杭锦旗| 金秀| 左贡县| 西平县| 稷山县| 洛南县| 德保县| 瑞安市| 礼泉县| 利辛县| 隆德县| 瑞金市| 新营市| 铜鼓县| 绿春县| 裕民县| 鄂尔多斯市| 彰化县| 湘潭县| 息烽县| 砚山县| 昭平县| 新津县| 利津县| 东宁县|