而不是使用 ASP.NET MVC 用户的系统,我只是使用会话,如下所示:
当他登录(用户名+密码)时,我从数据库中获取相应的用户并设置:
Session["UserId"] = fetchedUser.UserId;
然后,我总是检查他是否登录:
if (Session["UserId"] != null && ...)
问题是,如果有人从登录用户那里复制 ASP.NET_SessionId 的值(例如:用户去洗手间,坐在他旁边的同事用 chrome inspector 检查他的 cookie),那么他将能够创建一个 cookie在他的计算机中并充当该用户。
我的问题是:
- 如果会话 ID 保存在 cookie 中,为什么会话比 cookie 更安全?
- 我可以让它更安全(并继续使用会话)吗?
- 内部 ASP.NET 用户身份验证系统是如何做到的?