我们使用Warden进行身份验证,我们有很多策略很难跟踪哪一个成功。而是放置像
这样的行如果用户
,则Rails.logger.debug“使用SSO进行身份验证”对于每个策略我都想在某个地方放一条简单的行来记录策略消息。它可以在Warden的某个地方使用,因为它存储了成功的消息:
success!(username, message)
怎么做?这条线的最佳位置是什么?
我想我需要一个回调或类似的东西:
答案 0 :(得分:0)
知道了:
Warden::Manager.after_authentication do |user,auth,opts|
user = user.username if user.respond_to? :username
message = auth.winning_strategy.message
Rails.logger.info "User #{user} authenticated: #{auth.winning_strategy.message}"
end
在策略中:
success!(u, "with LDAP")
例如,。这很有效。