• 注意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
  • 相关阅读:
    稀疏自编码器一览表
    ZOJ 3886 Nico Number(筛素数+Love(线)Live(段)树)
    K好数(DP)
    【BZOJ4025】二分图
    又一次认识java(七) ---- final keyword
    二分查找
    从朴素贝叶斯分类器到贝叶斯网络(下)
    最近感到深深的绝望,感觉自己太菜了
    leetcode No.19 删除链表的倒数第N个节点 (python3实现)
    leetcode No.94 二叉树的中序遍历 (python3实现)
  • 原文地址:https://www.cnblogs.com/ivanyb/p/1081749.html
Copyright © 2020-2023  润新知