我正在尝试为使用 Happstack 框架编写的 Web 应用程序实现简单的基于密码的身份验证。我的用户提供了一个 ID 和密码,我使用 bcrypt 对其进行哈希处理并通过数据库进行检查。如果散列密码在该 ID 的数据库中,则用户因此被认证。
一旦我验证了好用户的身份,我想发出一个会话 cookie,标记该用户在会话期间已登录。(我不是在尝试实现“持久”、“记住我”之类的 cookie;我只是想了解用户是否已登录会话。)
会话 cookie 的存在是否足以对用户进行身份验证?如果不是,还需要什么其他信息?我可以将 cookie 的(散列)值存储在我的数据库中,但在这一点上,我看不出我将做什么与持久登录 cookie 有什么不同。
简而言之,我是否可以使用会话 cookie 来识别经过身份验证的用户,如果可以,应该怎么做?
(我已经能够了解如何以及为什么将会话 cookie 标记为“安全”和“仅限 HTTP”,但我不知道该怎么处理这该死的东西!)