C# 使用cookie实现登录

首先,我们需要做的是什么?

我们成功登录之后,跳转到主界面,然后主界面的登录按钮变成头像啥的。下一次打开网页就要判断有没有登录过,有cookie就不需要登录,直接显示头像

1.成功登录后,客户端请求服务器

2.把登陆信息传入到服务器

3.服务器有了这个cookie,保存到cookie集合里面,然后反馈给客户端ok了

后台Controller代码如下:

public ActionResult Login()
{
    HttpCookie cookie = new HttpCookie("userid", "12312");

    System.Web.HttpContext.Current.Response.Cookies.Add(cookie);

    return Redirect("/Home/Catagory");
}
Controller

前台Html代码如下:

@{
    var cookie = System.Web.HttpContext.Current.Request.Cookies.Get("userid");
    if (cookie == null || string.IsNullOrWhiteSpace(cookie.Value))
    {
        <a href="#">登录</a>
    }
    else
    {
        <p>
            <span>@(cookie.Value)</span>
        </p>
    }
}
Html

就比如,我(客户端)拿着身份证(信息)乘着火车(http请求),把身份证交给你(服务器),你拿到身份证之后,然后你给我一张纸条(cookie),说明你已经拿到身份证了,我拿着这个纸条回去,我每次跟别人说我把身份证拿给你了,别人不信,我拿出这个纸条,别人就明白了,万一哪一天我把这个纸条弄丢了,别人再问起,我就没办法证明了,就要重新来一次。

过程大概就是这样

注:此篇随笔只供参考使用,而且也有很多小瑕疵,最主要的不是代码,逻辑才是最重要的。

原文地址:https://www.cnblogs.com/Joker37/p/7250253.html