欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Asp.Net MVC记住用户登录信息下次直接登录功能

程序员文章站 2022-03-10 14:41:14
有的时候做网站,就需要记住用户登录信息,下次再登录网站时,不用重复输入用户名和密码,原理是浏览器的cookie把状态给记住了! 那么具体是怎么实现的呢?下面博主将一部分代...

有的时候做网站,就需要记住用户登录信息,下次再登录网站时,不用重复输入用户名和密码,原理是浏览器的cookie把状态给记住了!

那么具体是怎么实现的呢?下面博主将一部分代码贴出来,想要完整版的demo可以到百度云和码云下载,

百度云下载链接:https://pan.baidu.com/s/19pl-kohi9unvd4bk3fpuyg 密码: nud3

马云下载链接:https://gitee.com/wufengzui/rememberlogindemo      【没有下载链接的都是耍流氓  哈哈!!】

 咱们先来看看效果图:

Asp.Net MVC记住用户登录信息下次直接登录功能

下面是添加cookie的代码,不过这个方法是我封装过的,方法中的具体操作可以查看第二段代码

    //创建cookie【防止登录信息泄露,这里使用encode()将信息进行了加密】
        sqlhelper.setcookie("namecookie", sqlhelper.encode(username), datetime.now.adddays(7));
        sqlhelper.setcookie("pwdcookie", sqlhelper.encode(pwd), datetime.now.adddays(7));
      //获取cookie
        string name = sqlhelper.getcookievalue("namecookie");
        string pwd = sqlhelper.getcookievalue("pwdcookie");
      //删除cookie
      sqlhelper.removecookie("namecookie");
      sqlhelper.removecookie("pwdcookie");    

封装添加cookie方法   

/// <summary>
    /// 设置cookie值和过期时间
    /// </summary>
    /// <param name="cookiename">cookie名称</param>
    /// <param name="value">值</param>
    /// <param name="expires">过期时间</param>
    public static void setcookie(string cookiename, string value, datetime expires)
    {
      httpcookie cookie = httpcontext.current.request.cookies[cookiename];
      if (cookie != null)
      {
        cookie.value = value;
        cookie.expires = expires;
        httpcontext.current.response.cookies.add(cookie);
      }
      else
      {
        cookie = new httpcookie(cookiename);
        cookie.value = value;
        cookie.expires = expires;
        httpcontext.current.response.cookies.add(cookie);
      }
    }

 封装获取cookie方法   

 /// <summary>
    /// 获得cookie的值
    /// </summary>
    /// <param name="cookiename">cookie名称</param>
    /// <returns></returns>
    public static string getcookievalue(string cookiename)
    {
      httpcookie cookie = httpcontext.current.request.cookies[cookiename];
      if (cookie == null)
        return "";
      else
        return cookie.value;
    }

封装删除cookie方法  

   /// <summary>
    /// 删除cookie的值
    /// </summary>
    /// <param name="cookiename">cookie名称</param>
    /// <returns></returns>
    public static void removecookie(string cookiename)
    {
      setcookie(cookiename, "", datetime.now.adddays(1));
    }

总结

以上所述是小编给大家介绍的asp.net mvc记住用户登录信息下次直接登录功能,希望对大家有所帮助