【发布时间】:2013-08-06 19:08:29
【问题描述】:
我没有使用 ASP.NET MVC 用户的系统,而是简单地使用会话,如下所示:
当他登录时(用户名+密码),我从数据库中获取相应的用户并设置:
Session["UserId"] = fetchedUser.UserId;
然后,我总是检查他是否登录:
if (Session["UserId"] != null && ...)
问题在于,如果有人从登录用户那里复制了 ASP.NET_SessionId 的值(例如:用户去洗手间,坐在他旁边的同事用 chrome 检查器检查他的 cookie) ,然后他将能够在他的计算机中创建一个 cookie 并充当该用户。
我的问题是:
- 如果会话 ID 保存在 cookie 中,为什么会话比 cookie 更安全?
- 我可以让它更安全(并继续使用会话)吗?
- 内部 ASP.NET 用户认证系统是如何做到的?
【问题讨论】:
-
安全不是您想要自己做的事情,除非您正在学习。您确定不应该使用内置安全性吗?
标签: asp.net security session sessionid