我需要在我的JSF网站上实现“记住我”功能,我一直在研究这个主题,试图找到最佳实践。我找到了很多答案,但我仍然有一个基于我使用的技术和我在数据库中存储用户密码的方式的问题。
总结我发现的内容
我如何实际登录用户
基于Java EE标准,我使用JAAS并存储MD5版本的用户密码。 我通过HttpServletRequest类的登录方法登录我的用户,该方法需要用户名和密码,以便验证身份验证并设置用户主体。
基于这两个事实,如果我需要用户名和密码才能登录用户,如何根据此最佳实践进行自动登录?
答案 0 :(得分:2)
如果我需要用户名和密码才能登录用户,如何根据此最佳做法自动登录?
根据“记住我”cookie的值,直接从数据库中获取用户名和密码。然后,您可以将它们提供给HttpServletRequest#login()
方法。
请注意,“记住我”cookie的值绝对不应包含有关用户名,密码或ID的任何提示。它应该是一个绝对随机的值。 java.util.UUID
在这里很有帮助。