ASP.NET 表单身份验证 - 记住我的问题
本文关键字:我的 问题 NET 表单 身份验证 ASP | 更新日期: 2023-09-27 17:56:38
我在 ASP.NET Web 应用程序的表单身份验证中使用"记住我"。如果我使用有效凭据登录并选择"记住我",我可以登录并且一切都很好。现在,如果我关闭窗口,打开SQL服务器并更改密码,然后尝试打开Web应用程序,它将绕过登录过程并使用"记住我"中的旧缓存凭据并允许我登录。
这是正常行为吗?如果是这样,我唯一能想到的就是删除"记住我"选项或使用非常短的过期时间。
有什么建议吗?
这是
正常的。原因是为了记住用户,需要在客户端计算机上存储某种形式的密钥,从而绕过登录过程。假设您使用的是 ASP。NET的集成会员功能,您基本上在cookie中存储了一个唯一的令牌,用于识别用户。出于各种充分的原因,这与密码无关。这意味着自动登录与密码无关,因此更改它不应在逻辑上影响此功能。
如果安全性是一个问题,你确实可以考虑缩短记忆保持有效的时间跨度。或者正如您提到的,如果它带来太大的风险,您可以完全避开此功能。密码记住是绝大多数网站上实现的常见功能,前提是您使用的是 ASP。NET的集成成员功能,您的安全风险被最小化,但最终您需要检查您的特定情况并确定此功能是否对您有意义。