• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
似水无痕
博客园    首页    新随笔    联系   管理    订阅  订阅

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

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 { 

  /// <summary> 

  /// 获得Cookie 

  /// </summary>

  /// <param name="cookieName"></param> 

  /// <returns></returns>

  public static HttpCookie GetCookie(string cookieName) 

   { 

   HttpRequest request = HttpContext.Current.Request;

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

   } 

  /// <summary> 

  /// 添加Cookie 

  /// </summary>

  /// <param name="cookie"></param> 

  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);

     }

   }

  /// <summary> /// 设置Cookie子键的值 

  /// </summary>

  /// <param name="cookieName"></param>

  /// <param name="key"></param> 

  /// <param name="value"></param> 

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

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

  /// <summary> /// 设置Cookie 

  /// </summary> 

  /// <param name="cookieName"></param>

  /// <param name="key"></param> 

  /// <param name="value"></param> 

  /// <param name="expires"></param>

  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天 

posted @ 2010-11-04 15:08  杨——  阅读(3972)  评论(4)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3