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

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊(cè)

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827222
          • 排名 - 49

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          利用公共的Action實(shí)現(xiàn)用戶合法性的校驗(yàn)

            在這里,我們可以通過(guò)實(shí)現(xiàn)一個(gè)公共的Action并增加相應(yīng)的權(quán)限驗(yàn)證功能來(lái)實(shí)現(xiàn)用戶權(quán)限的校驗(yàn)工作.
          這樣,在進(jìn)行業(yè)務(wù)功能開發(fā)的時(shí)候,所有需要執(zhí)行權(quán)限校驗(yàn)的Action都需要繼承自此公共的Action.
          下面是一個(gè)簡(jiǎn)單的例子
          具有校驗(yàn)功能的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;
              
          }
          下面編寫一個(gè)普通的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 {
            //通過(guò)父類的權(quán)限驗(yàn)證則該方法會(huì)被執(zhí)行
            return mapping.findForward("success");
           }
          }
          struts-config.xml中的相關(guān)配置
            <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) 評(píng)論(0)  編輯  收藏 所屬分類: struts
          主站蜘蛛池模板: 汉阴县| 松阳县| 岱山县| 阜新| 西和县| 龙海市| 临江市| 五家渠市| 定安县| 通州市| 松溪县| 玛纳斯县| 盘山县| 城口县| 黔东| 固阳县| 临清市| 南召县| 保靖县| 仁怀市| 纳雍县| 金昌市| 巫溪县| 汉寿县| 玉环县| 太谷县| 大庆市| 霍州市| 古交市| 灵山县| 重庆市| 郎溪县| 察隅县| 长乐市| 正安县| 翁牛特旗| 美姑县| 和顺县| 长泰县| 曲阜市| 吉木萨尔县|