如何使活动管理员的 Cookie 中的会话 ID 过期?

How to Expire Session IDs in Cookies for Active Admin?

提问人:Yann Soares Rocha e Silva 提问时间:10/23/2023 最后编辑:maxYann Soares Rocha e Silva 更新时间:10/23/2023 访问量:25

问:

我在 Web 应用程序中遇到会话管理问题。我注意到存储在 cookie 中的会话 ID 似乎没有过期,这带来了安全风险。如果有人获得此会话 ID,他们可能会登录到 Active Admin。

我正在将 Ruby on Rails 与我的应用程序的 Active Admin gem 一起使用。

我的问题是:

为什么会话 ID 没有按预期过期? 如何强制会话 ID 在一段时间不活动后过期? 我是否应该考虑采取任何其他安全措施来防止未经授权访问 Active Admin? 我感谢任何指导或解决方案来帮助我解决此问题并提高应用程序的安全性。先谢谢你!

Ruby-on-Rails Ruby 设计 ActiveAdmin

评论

2赞 spickermann 10/23/2023
据我所知,ActiveAdmin 不包括授权,而是使用主应用程序的身份验证系统,该系统可能使用 Devise gem、另一个身份验证 gem 或您自己编写的内容。因此:您最初是如何在应用程序中实现身份验证的?
1赞 max 10/23/2023
请注意,例如,由 Devise 提供的身份验证是建立在 Rails 会话中间件提供的低级功能之上的更高层次的概念。会话的会话中间件概念只是一个跨请求持久化的简单数据存储。它不应等同于登录/注销。您可以配置会话存储 cookie 的到期时间,但如果要正确实现超时,则需要类似 Devise::Timeoutable 的内容。
0赞 Yann Soares Rocha e Silva 10/24/2023
有了 Devise,我有一个名为“_session_id”的 cookie,它永远不会过期。实现此目的的唯一方法是使用 Designise:Timeoutable,对吗?

答: 暂无答案