ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ASP.NET中使用Cookie保存用户名和密码 (转)

ASP.NET中使用Cookie保存用户名和密码 (转)

原创 Linux操作系统 作者:iDotNetSpace 时间:2010-11-09 17:36:03 0 删除 编辑

private void SetUpCookies() { 

   //记住用户名密码 

  if (!string.IsNullOrEmpty(Request["remUsername"])) 

   { 

    string uName = this.txtName.Text.Trim();

      string uPwd = this.txtPwd.Text.Trim(); 

      HttpCookie Cookie = CookiesHelper.GetCookie("UserInfo");

      if (Cookie == null) 

     { 

     Cookie = new HttpCookie("UserInfo"); 

     Cookie.Values.Add("uName", uName); 

       Cookie.Values.Add("uPwd", uPwd); 

    //设置Cookie过期时间 

      Cookie.Expires = DateTime.Now.AddDays(30); 

     CookiesHelper.AddCookie(Cookie); 

   } 

  else if (!Cookie.Values["uName"].Equals(uName) && !Cookie.Values["uPwd"].Equals(uPwd)) 

   {   

    CookiesHelper.SetCookie("UserInfo", "uName", uName); 

      CookiesHelper.SetCookie("UserInfo", "uPwd", uPwd); 

    } 

   } 

 } 

private class CookiesHelper { 

  ///

 

  /// 获得Cookie 

  ///

  ///  

  ///

  public static HttpCookie GetCookie(string cookieName) 

   { 

   HttpRequest request = HttpContext.Current.Request;

   if (request != null) return request.Cookies[cookieName]; return null; 

   } 

  ///

 

  /// 添加Cookie 

  ///

  ///  

  public static void AddCookie(HttpCookie cookie) 

   { 

   HttpResponse response = HttpContext.Current.Response;

    if (response != null)

     { 

      //指定客户端脚本是否可以访问[默认为false] 

       cookie.HttpOnly = true;

       //指定统一的Path,比便能通存通取 

       cookie.Path = "/"; 

      //设置跨域,这样在其它二级域名下就都可以访问到了 //

       cookie.Domain = "chinesecoo.com"; response.AppendCookie(cookie);

     }

   }

  ///

/// 设置Cookie子键的值 

  ///

  ///

  ///  

  ///  

  public static void SetCookie(string cookieName, string key, string value) 

   { SetCookie(cookieName, key, value, null); }

  ///

/// 设置Cookie 

  ///

 

  ///

  ///  

  ///  

  ///

  public static void SetCookie(string cookieName, string key, string value, DateTime? expires) 

   { 

     HttpResponse response = HttpContext.Current.Response;

    if (response != null) 

     { 

     HttpCookie cookie = response.Cookies[cookieName]; 

    if (cookie != null) 

     { 

      if (!string.IsNullOrEmpty(key) && cookie.HasKeys) 

         cookie.Values.Set(key, value); 

        else if (!string.IsNullOrEmpty(value)) 

         cookie.Value = value;

  if (expires != null) 

     cookie.Expires = expires.Value; 

   response.SetCookie(cookie); 

   } 

  }

  } 

 }


cookie.Expires=DateTime.Now.AddDays(30);//失效时间为30天 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-677816/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: ASP.NET MVC 3 RC发布
请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5765861