CQ-CSER

计算机爱好者

AJAX在静态HTML页面中实现权限控制的应用

Posted on | 十二月 3, 2009 | No Comments

那么在静态页面中怎么判断用户是否登陆了呢……??
  最近刚学了点AJAX,这时就派上用场了,呵呵,AJAX可以异步发送请求到服务器,然后返回一个结果,呵呵,那么这正好是我需要的,解决思路如下:

  在静态页面的模版页中写一段javascript代码,用来发送请求到服务器,在服务器端写一段代码用来检查用户是否登陆,然后返回一个结果给这个html页面,html页面根据返回的结果决定是显示还是转到登陆页面强制用户登陆,到此,问题的解决思路应该明了了,下面来看看实现的代码:

  HTML模版页TemplateRules.html代码:
  由于模版页比较长,这里只登出AJAX代码部分,即标签前面的部分

  
  
  
  
  
     
此处要提一下:上面文件中的以下代码部分是根据服务器端返回结果决定是否强制登陆的关键部分,因为我们是通过xmlhttp_request.responseText;来看返回结果的,而这个返回文本是服务器端页面的html,所以在此处我们通过返回的这个文本长度来判断服务器端返回的是已登陆还是未登陆,如果已登陆则长度肯定小于583,(当然这个长度会因为每个人的做法不同而不同,可根据实际情况来确定一下服务器端的文件HTML的长度),这样就可以进行判断了

  var str = xmlhttp_request.responseText;//将服务器返回的字符串写到页面中ID为message的区域
  if(str.length>583)
  {
  //self.location=”../login.aspx”;
  location.href=’../Login.aspx’;

  }
  } else {
  alert(http_request.status);
  }

  接下来就是服务器端用来检测是否登陆的页面checklogin.ascx的代码(很简单):
  using System;
  using System.Data;
  using System.Configuration;
  using System.Collections;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Web.UI.HtmlControls;

  public partial class CheckLogin : System.Web.UI.Page
  {
  protected void Page_Load(object sender, EventArgs e)
  {
  if (Request.Cookies["UserInfo"] == null ||   Request.Cookies["UserInfo"].Values["UserName"].ToString() == “”)
  {
  Response.Write(“111111111111111111111111111111111111111111″);//输出不同长度的字符串
  }
  else
  Response.Write(“1″);
  }
  }
  就这样,通过上面的HTML模版页生成的规则就可以进行用户权限控制了

相关文章:

  1. 详解AJAX核心中的XMLHttpRequest对象
  2. Ajax实现页面loading效果
  3. Ajax文本框输入提示
  4. jquery学习笔记3
  5. 禁止右键代码

评论|Comments

留言|Leave a Reply





  • Archives

  • SUNSHINE

  • About

    本博客采用创作共用版权协议,要求署名、非商业用途和保持一致. 转载本博客内容也遵循“署名-非商业用途-保持一致”的创作共用协议.

    订阅

    Search

    Admin