Devise,多种型号和ApplicationCable



我需要为应用程序添加对多个模型(带用户的表(的支持。总的来说,除了ApplicationCable,一切都很顺利。

该应用程序有以下代码:

module ApplicationCable
class Connection < ActionCable::Connection::Base
identified_by :current_user
def connect
self.current_user = find_verified_user
end
protected
def find_verified_user
if verified_user = env['warden'].user
verified_user
else
reject_unauthorized_connection
end
end
end
end

此代码非常流行。它存在于许多来源中。

但在需要多个模型的情况下,它不起作用。前端的连接被切断,原因是:

未经授权的连接尝试被拒绝

UPD:

我意识到我可以使用一个明确的指示:

env['warden'].user(:admin)

但现在我不明白如何为ApplicationCable连接自动确定这一点。


你能告诉我你如何解决这个问题吗?

module ApplicationCable
class Connection < ActionCable::Connection::Base
identified_by :current_user
def connect
self.current_user = find_verified_user
end
protected
def find_verified_user
if verified_user = env['warden'].user(:admin)
verified_user
elsif verified_user = env['warden'].user
verified_user
else
reject_unauthorized_connection
end
end
end
end

相关内容

  • 没有找到相关文章

最新更新