tri*_*anm 7 ruby-on-rails devise
我有一个使用Devise进行身份验证的Rails应用程序.用户属于经销商,我想阻止属于残疾经销商的用户登录.
是否有一种直接的方式来扩展Devise的身份验证查找器,以便它不包括已删除的经销商的用户?也许在User上使用命名范围?
干杯
特里斯坦
tri*_*anm 16
事实证明我需要做的就是覆盖我的用户模型的find_for_authentication方法:
class User < ActiveRecord::Base
...
# Intercept Devise to check if DealershipUser's Dealership is active
def self.find_for_authentication(conditions)
user = super
return nil if user.is_a?(DealershipUser) && user.dealership.deleted?
user
end
...
end
Run Code Online (Sandbox Code Playgroud)
对于我的场景,这是一个非常具体的解决方案,但您可以覆盖find_for_authentication,但是如果您愿意,之后您将返回用户.
| 归档时间: |
|
| 查看次数: |
2321 次 |
| 最近记录: |