Adr*_*eil 20 ruby-on-rails devise warden
我对铁杆比较陌生.我有Devise设置,并希望在用户登录后运行一些回调代码.
查看Warden wiki页面,我可以使用"after_set_user"回调来执行此逻辑,例如:
Warden::Manager.after_set_user do |user, auth, opts|
unless user.active?
auth.logout
throw(:warden, :message => "User not active")
end
end
Run Code Online (Sandbox Code Playgroud)
但是,我不确定我应该在哪里存储这些东西.我的第一个想法是我可以把它放在config/initializers/devise.rb中.那是对的吗?在config目录中放置本质上是控制器代码的感觉并不合适.
Jos*_*lim 20
应用程序启动时需要使用Warden挂钩,因此在config/initializers/devise.rb中的Devise初始化程序中是一个很好的候选者.
但是,使用此Devise功能可以更好地完成您想要实现的行为:
| 归档时间: |
|
| 查看次数: |
6632 次 |
| 最近记录: |