登陆页面给cookie赋值的语句: Response.Cookies["UserName"].Value = Convert.ToString(dt.Rows[0][1]);
Request.Cookies["loginName"].Value = Request.Cookies["loginName"].Value;
引用页面aaa.aspx检验权限的语句 if (string.IsNullOrEmpty (Response.Cookies["loginName"].Value ))
            {
                Response.Redirect("Login.aspx?reason=1&url=DeletedManage.aspx");
            }但是每次登陆后再进aaa.aspx页面还是没有权限,请大家帮我看看 错在哪里,
或者直接给个可用的代码,就是用cookie 控制权限的,登陆后写什么代码,在要验证的页又写什么?
谢谢了 

解决方案 »

  1.   

    aaa.aspx 页面Request.Cookies["loginName"].Value 读取应该是 Request
      

  2.   

    而且要保证浏览这个站点的用户的浏览器设置为允许Cookie
      

  3.   

    我写过那样的,但是一进去就报 未将对象引用设置到对象的实例。if (string.IsNullOrEmpty (Request.Cookies["loginName"].Value ))
      

  4.   

    用Session吧,方便控制
    Session["UserName"]=Convert.ToString(dt.Rows[0][1]);登录时
    if(Session["UserName"]==null)
    {
        Response.Redirect("Login.aspx?reason=1&url=DeletedManage.aspx");
    }
      

  5.   

    session的我已经写好了,但是我们头要我用Cookie
    其实这是给后台人员用的,用户非常少,不超过5个,我觉得用session挺好,但是他非要我用Cookie
      

  6.   

    你的检测方式错了吧登录页面:
    Response.Cookies["loginName"].Value = Convert.ToString(dt.Rows[0][1]);aaa.aspx:
    if (Request.Cookies["loginName"] == null)
    {
       Response.Redirect("Login.aspx?reason=1&url=DeletedManage.aspx");
    }
      

  7.   

    感谢各位特别是7楼,可以了
    可是
    if (Request.Cookies["loginName"] == null) 能通过
    if (string.IsNullOrEmpty (Response.Cookies["loginName"].Value ))为什么不能通过呢?还有请高手继续指点一下关于cookie的时限应该怎么写
      

  8.   

    哦楼上写错了if (string.IsNullOrEmpty (Request.Cookies["loginName"].Value ))为什么不能通过呢? 
      

  9.   

    还是用Session好,或是直接使用Membership。
      

  10.   

    Request.Cookies["loginName"]都为空了,还有Value吗?当然报错了
      

  11.   

    明白了还有请高手继续指点一下关于cookie的时限应该怎么写 
      

  12.   

    Cookies["USERNAME"].Expires = DateTime.Now.AddYears(1);//一年过期 
    这个控制cookie的超时时限
    建议用 cookie做权限的时候加一个域的限制,那样只有在本域内才能访问此cookie
    代码:Cookies["USERNAME"].Domain = uDomain;