随笔 - 6  文章 - 129  trackbacks - 0
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(14)

随笔档案(6)

文章分类(467)

文章档案(423)

相册

收藏夹(18)

JAVA

搜索

  •  

积分与排名

  • 积分 - 815441
  • 排名 - 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 阅读(405) 评论(0)  编辑  收藏 所属分类: struts

只有注册用户登录后才能发表评论。


网站导航: