zoukankan      html  css  js  c++  java
  • 注意Request.Cookies["UserID"]的用法

    注意Request.Cookies["UserID"]的用法
    我们在项目中通常要设置这样的东东:
    在没有经过登陆验证时,直接在地址栏输入地址页面是不能访问的,
    而这种方式我一般采用的是在通用类中验证Response.Cookies["UserID"]是否为空
    的方式进行判断,如果为空,将地址重定向登陆页面。
    具体代码:
    login.aspx.cs

      HttpCookie cookie = Request.Cookies["UserID"];
            if (cookie != null)
            {
                cookie.Value = "ivan";          
                Response.Cookies.Set(cookie);
            }
            else
            {
                cookie = new HttpCookie("UserID");
                cookie.Value = "ivan";
                Response.Cookies.Add(cookie);
            }
            Response.Redirect("Main.aspx");

    basePage.cs(继承了System.Web.UI.Page)
    在构造函数中:
     public BasePage()
        {       
            if (HttpContext.Current.Request.Cookies["UserID"] == null)
            {
               // Response.Redirect("/login.aspx");
                Page.RegisterStartupScript("msg", "<script>this.parent.location.href='login.aspx'</script>");
            }
        }

    以上就实现了限制不通过登陆而直接输入地址访问页面的功能。
    提示:最初我在BasePage()中获取cookes的方式直接写成了,if(Request.Cookies["UserID"] == null)
    这样将会报“System.Web.HttpException: 请求在此上下文中不可用”,
    改为 if (HttpContext.Current.Request.Cookies["UserID"] == null)问题解决。

    人生无处不PK
  • 相关阅读:
    聆听生活——用心创造
    zedboard通过BRAM实现PS和PL的简单通信
    使用FDATOOL生成xilinx中FIR滤波器IP核的系数
    PCI Express
    波若波罗密多心经
    imp导入时出现imp-00017的问题
    数据库表对比,vim裁剪方法
    [测]jieba分词
    [原]批量修改指定名称的文件名
    [原]通过配合ffmpeg.exe获取视频文件时长
  • 原文地址:https://www.cnblogs.com/ivanyb/p/1081749.html
Copyright © 2011-2022 走看看