【问题标题】:Rails: Understanding cookies/log out users remotelyRails:远程理解 cookie/注销用户
【发布时间】:2016-06-17 22:10:48
【问题描述】:

管理员应该能够通过管理控制台远程注销用户。

当用户登录时,cookie 被设置为cookies.signed[:user_token] 当用户注销时,cookie 将被删除,cookies.delete :user_token

我只能访问和删除正在向我的 rails 控制器发送请求的当前用户的 cookie。 cookie 哈希只有当前用户的:user_tokensession_store 键。

是否可以访问所有已登录用户的 cookie 并将其从一个帐户中删除?我找不到这方面的任何信息。

另一种方法:

  1. 跟踪数据库中每个用户的登录状态(0 或 1)。每次用户登录时,状态都会设置为 1。
  2. 允许管理员通过管理控制台将状态更改为 0。
  3. 客户端浏览器每分钟左右请求一次登录状态。如果状态为 0,则发送注销请求。

你们如何看待这种做法?

【问题讨论】:

  • 1 通常是会话 cookie

标签: ruby-on-rails cookies


【解决方案1】:

据我所知,cookie 存储在用户的浏览器中。你不能删除它们。您可以以某种方式使它们无效,但对于每个用户来说,这将是困难的。

在数据库中存储登录状态应该是您正在寻找的解决方案。因此,当用户进来时,您进行通常的身份验证,然后检查数据库。如果为 0,则让他们登录。这样管理员就可以更改该值。此外,您还必须放入一些东西以使会话表中的标志过期

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-25
    • 2017-01-17
    • 1970-01-01
    • 2019-10-11
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多