Ruby on rails 5 为什么ActionCable在能够';找不到已登录的用户

Ruby on rails 5 为什么ActionCable在能够';找不到已登录的用户,ruby-on-rails-5,actioncable,Ruby On Rails 5,Actioncable,轨道5.2.1 路线: Rails.application.routes.draw do mount ActionCable.server => '/cable' . . . 我在app/channels/application\u cable/connection.rb中有以下代码 module ApplicationCable class Connection < ActionCable::Connection::Base identifie

轨道5.2.1

路线:

    Rails.application.routes.draw do

      mount ActionCable.server => '/cable'
.
.
.
我在app/channels/application\u cable/connection.rb中有以下代码

module ApplicationCable
  class Connection < ActionCable::Connection::Base

    identified_by :current_user

        def connect
          self.current_user = find_verified_user
        end

        private

        def find_verified_user
          if verified_user = env['warden'].user
            verified_user
          else
            logger.add_tags 'ActionCable', "The user is not found. Connection rejected."  
            reject_unauthorized_connection
          end
        end
      end
    end

ActionCable持续尝试建立连接,直到找到已登录的用户,这是否正确和正常行为?

好的,升级不是因为未登录的用户。我相信这是WS(S)连接尝试通过HTTP(S)握手,然后升级自身的功能


这是web服务器层(Puma、Apache等)的行为,而不是应用程序层(Rails、Sinatra等)

谢谢,埃米尔说得通。
Started GET "/cable" for 127.0.0.1 at 2018-12-21 14:37:05 +0700
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:05 +0700
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
[ActionCable] [The user is not found. Connection rejected.] An unauthorized connection attempt was rejected
[ActionCable] [The user is not found. Connection rejected.] Failed to upgrade to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
[ActionCable] [The user is not found. Connection rejected.] Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:05 +0700
[ActionCable] [The user is not found. Connection rejected.] Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:05 +0700
Started GET "/cable" for 127.0.0.1 at 2018-12-21 14:37:27 +0700
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:27 +0700
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
[ActionCable] [The user is not found. Connection rejected.] An unauthorized connection attempt was rejected
[ActionCable] [The user is not found. Connection rejected.] Failed to upgrade to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
[ActionCable] [The user is not found. Connection rejected.] Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:27 +0700
[ActionCable] [The user is not found. Connection rejected.] Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:27 +0700
Started GET "/cable" for 127.0.0.1 at 2018-12-21 14:37:49 +0700
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:49 +0700
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
[ActionCable] [The user is not found. Connection rejected.] An unauthorized connection attempt was rejected
[ActionCable] [The user is not found. Connection rejected.] Failed to upgrade to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
[ActionCable] [The user is not found. Connection rejected.] Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:49 +0700
[ActionCable] [The user is not found. Connection rejected.] Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-12-21 14:37:49 +0700
Started GET "/cable" for 127.0.0.1 at 2018-12-21 14:38:11 +0700