加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ASP.NET Forms身份验证 – 记住我的问题

发布时间:2020-12-15 21:46:43 所属栏目:百科 来源:网络整理
导读:我在我的ASP.NET webapp的Forms身份验证中使用“记住我”. 如果我使用有效凭据登录并选择“记住我”,我可以登录,一切都很好. 现在,如果我关闭窗口,打开SQL服务器并更改密码然后尝试打开webapp,它会绕过登录过程并使用“记住我”中的旧缓存凭据并允许我登录.
我在我的ASP.NET webapp的Forms身份验证中使用“记住我”.
如果我使用有效凭据登录并选择“记住我”,我可以登录,一切都很好.
现在,如果我关闭窗口,打开SQL服务器并更改密码然后尝试打开webapp,它会绕过登录过程并使用“记住我”中的旧缓存凭据并允许我登录.

这是正常的行为吗?
如果是这样,我唯一能想到的就是删除“记住我”选项或使用非常短的过期时间.

有什么建议?

解决方法

这个是正常的.原因是为了记住用户,需要将某种形式的密钥存储在客户端机器上以允许绕过登录过程.假设您使用的是ASP.NET的集成成员资格功能,那么您实际上在cookie中存储了一个标识用户的唯一令牌.由于各种原因,这与密码无关.这意味着自动登录与密码无关,因此更改它不应在逻辑上影响此功能.

如果担心安全问题,您确实可以考虑缩短记忆保持有效的时间跨度.或者正如您所提到的,如果它具有太大的风险,您可以完全避开此功能.密码记忆是在绝大多数网站上实现的常见功能,如果您使用ASP.NET的集成成员身份功能,您的安全风险将被最小化,但最终您需要检查您的特定情况并确定此功能是否使感觉适合你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读