我已经编写了自己的模型来处理身份验证,但我只是想知道如何实现“记住我”功能?
要登录用户,我只需设置以下userdata:UserID(int),LoggedIn(bool)
答案 0 :(得分:5)
'记住我'是通过cookies实现的。
您的Cookie应采用“RememberMe = userid:[something-confirming-authentication]”的形式
因此,困难的部分是获得'某事 - 确认 - 认证'。这最好实现为:
sha256(salt + userid)
'salt'是针对用户生成的一系列随机字符,并与数据库一起存储在数据库中。
然后,您可以确认当存在时(您有自己在服务器上计算此哈希的数据,所以您这样做),您将用户标记为已登录。
为了进一步提高安全性,您可能希望使用aes256加密cookie的此组件,并在尝试检查哈希值之前解密。
答案 1 :(得分:0)
加密用户ID和登录状态并将其存储在cookie中。