如果该用户在某台机器上登录,是否可以显示“已登录”消息? 这个东西可以使用数据库。 但是我已经实现了登录和注销的会话,我认为会话无法显示“已登录”。Ruby On Rails中的会话
请为此建议最佳方式。
如果该用户在某台机器上登录,是否可以显示“已登录”消息? 这个东西可以使用数据库。 但是我已经实现了登录和注销的会话,我认为会话无法显示“已登录”。Ruby On Rails中的会话
请为此建议最佳方式。
如果他们去了另一台电脑?如果你使用session [:something] - 它存储在浏览器中。对于通过不同浏览器存储的任何内容,您必须使用数据库来查看状态。
我认为这是可能的,但有人说,我不喜欢它。我认为你担心,因为你不能从会话数据中轻松识别用户?
确保在用户每次通过应用程序控制器中的before_filter访问应用程序时都更新用户模型。
在登录过程中,您可以通过指定与会话清理时间限制相同的时间限制来查询“登录”用户。
你可以做这样的事情:
User.where("email = ? and updated_at >= ?",login_email,20.minutes.ago)
如果你想避免同一用户名同时登录。通过在存储登录用户的IP地址的用户表中添加一列来实现最佳实施。此外
到默认的CookieStore:
否则,你可以改变会话存储机制为使用的。
在我诚实的意见中,实现你所需要的最简单的方法是将所有会话存储在数据库中。之后,您可以在登录之前检查是否有人已存储在数据库中 Rails sessions current practices(第一个答案)