我在 ASP.NET MVC 网站中使用表单例份验证,并将用户帐户登录名存储在 AuthCookie 中,如下所示:
FormsAuthentication.SetAuthCookie(account.Login, false);
我想问一下客户端用户是否有可能以某种方式设法更改他在 AuthCookie 中的登录名,因此他将被冒充为具有更高权限的人,并被授权执行比他通常应该拥有的更多的操作.将用户帐户登录名或用户帐户 ID 号保存在此 cookie 中是否更好?
最佳答案
cookie 将在服务器端进行加密和解密,因此除非用户能够破解加密 key ,否则他或她将无法做到这一点。
只要您存储的信息唯一地标识您的用户,关于该信息是什么的选择完全取决于特定应用程序的要求。
关于asp.net - ASP.NET Forms 身份验证的授权安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2856329/