gpt4 book ai didi

ruby - Padrino 中的 session 和用户身份验证

转载 作者:数据小太阳 更新时间:2023-10-29 08:16:01 25 4
gpt4 key购买 nike

我对 Padrino(我来自 PHP 背景)和一般的 ruby​​ web 框架非常陌生,并且一直在尝试弄清楚如何实现一个简单的用户身份验证和 session 管理系统,但还没有真正找到关于这个主题的很多文档。我知道 padrino 带有一个预构建的“管理”包,其中包括用户登录/身份验证等,但是我宁愿从头开始自己做,而不是尝试自定义他们的解决方案以满足我自己的需要。

所以我的问题是,在 Padrino 中,一旦针对数据库验证了用户/通行证组合,我将如何通过设置 session 数据来实现一个简单的基于 session 的身份验证系统来登录用户,检索该 session 数据以进行检查如果在发出保护某些页面/资源的请求时用户已登录,请使用 session 数据获取用户的 ID/角色/等,然后在用户注销时销毁该 session 。作为一名 PHP 程序员,我习惯于为此目的使用 $_SESSION 超全局,在 padrino/ruby 中是否有类似的东西?我注意到 app.rb 中有一个 enable :sessions:sessions 是 pardrino 的等价物吗?

最佳答案

是的,

session[:cart] = cart_id
Cart.find(session[:cart].to_i) if session[:cart].present?

出于身份验证目的,您可以使用更简单的方法避免 padrino-admin 和内置身份验证:

# in app.rb
use Rack::Auth::Basic, 'Restricted Area' do |username, password|
user == 'admin' and password == 'pwd'
end

如果您需要更多地控制您的 session /cookie,您可以使用:

set :sessions,
:key => '__awesome_key',
:secret => 'awesome_password',
:expire_after => 1.year

关于ruby - Padrino 中的 session 和用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10211092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com