Action中防止Url跳转和过滤IP

来源:互联网 发布:中文域名前景 编辑:程序博客网 时间:2024/06/10 04:26

1.如何进行登录并进行过滤IP地址

public class LoginAction extends Action {

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

LoginActionForm laf=(LoginActionForm)form;
String username=laf.getUsername();
String password=laf.getPassword();
String result="index";

if("admin".equals(username)&&"admin".equals(password)){
String remoteAddress=request.getRemoteAddr();
String alowIps=request.getSession().getServletContext().getInitParameter("alowIps");
String[] ips=alowIps.split(",");
Arrays.sort(ips);
if(Arrays.binarySearch(ips, remoteAddress)>=0){//采用一个工具类来查找你所访问的IP是不是在指定的IP范围内

//登录成功
request.getSession().setAttribute("user", username);
result="login_success";
}

}else{
result="index";
}

return mapping.findForward(result);

}

2.防止Url

public class BaseAction extends DispatchAction {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if(request.getSession().getAttribute("user")==null){
return mapping.findForward("index");
}
return super.execute(mapping, form, request, response);
}
}

然后我们把要访问的其他Action都继承自这个BaseAction即可.

原创粉丝点击