隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          利用公共的Action實現用戶合法性的校驗

            在這里,我們可以通過實現一個公共的Action并增加相應的權限驗證功能來實現用戶權限的校驗工作.
          這樣,在進行業務功能開發的時候,所有需要執行權限校驗的Action都需要繼承自此公共的Action.
          下面是一個簡單的例子
          具有校驗功能的Action(SecureAction.java)
          /*
           * Generated by MyEclipse Struts
           * Template path: templates/java/JavaClass.vtl
           */
          package dgut.ke.struts.secure;

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

          import org.apache.struts.action.Action;
          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;

          /**
           * MyEclipse Struts
           * Creation date: 08-28-2007
           *
           * XDoclet definition:
           * @struts.action validate="true"
           */
          public abstract class SecureAction extends Action {
           /*
            * Generated Methods
            */

           /**
            * Method execute
            * @param mapping
            * @param form
            * @param request
            * @param response
            * @return ActionForward
            */
           public final ActionForward execute(ActionMapping mapping, ActionForm form,
             HttpServletRequest request, HttpServletResponse response)throws Exception {
            HttpSession session = request.getSession();
            String userId = (String)session.getAttribute("SESSION.USER");
            if(userId==null)
             return (mapping.findForward("isNullSession"));
            else
             return doExecute(mapping,form,request,response);
           }
           
           public abstract ActionForward doExecute(ActionMapping mapping,
                       ActionForm form,
                       HttpServletRequest request,
                       HttpServletResponse response)
           throws Exception;
              
          }
          下面編寫一個普通的Action(isNullSessionAction.java)繼承自此公共Action
          /*
           * Generated by MyEclipse Struts
           * Template path: templates/java/JavaClass.vtl
           */
          package dgut.ke.struts.secure;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;


          public class IsNullSessionAction extends SecureAction {

           @Override
           /*重寫類中的方法*/
           public ActionForward doExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
            //通過父類的權限驗證則該方法會被執行
            return mapping.findForward("success");
           }
          }
          struts-config.xml中的相關配置
            <action path="/isNullSession" type="dgut.ke.struts.secure.IsNullSessionAction">
               <forward name="success" path="/success.jsp"></forward>
               <forward name="isNullSession" path="/index.jsp"></forward>
            </action>
            <action path="/secureAction" type="dgut.ke.struts.secure.SecureActionAction"/>



          posted on 2007-08-28 20:23 Ke 閱讀(432) 評論(0)  編輯  收藏 所屬分類: struts
          主站蜘蛛池模板: 遂宁市| 庆阳市| 广水市| 吴旗县| 茌平县| 特克斯县| 五峰| 天水市| 五家渠市| 平江县| 闻喜县| 青河县| 克拉玛依市| 襄垣县| 望城县| 江北区| 扶绥县| 谢通门县| 宁陕县| 库尔勒市| 东乡族自治县| 沅江市| 南昌县| 秀山| 彝良县| 蕲春县| 河东区| 郁南县| 博野县| 云浮市| 呼图壁县| 梓潼县| 芮城县| 永胜县| 万全县| 阿鲁科尔沁旗| 泊头市| 梅州市| 沁水县| 宁阳县| 铜梁县|