无法升级到 WebSocket 与未经授权的连接尝试被拒绝
Failed to upgrade to WebSocket vs. An unauthorized connection attempt was rejected
使用 Rails 5 和 ActionCable
"Failed to upgrade to WebSocket" 对比 "An unauthorized connection attempt was rejected"。
有人能告诉我这两个错误之间的区别以及它们可能在哪些功能下发生吗?我相信 "An unauthorized connection attempt was rejected" 发生在
App.cable = ActionCable.createConsumer();
我确实有:
def find_verified_user
if verified_user = env['warden'].user
verified_user
else
reject_unauthorized_connection
end
end
但我不确定升级错误。
我真正想做的是在超时用户(不是注销,而是超时)尝试发送消息时捕获。所以我不认为我必须在连接时抓住这个,但在请求时。有什么方法可以根据请求处理错误吗?
这里的最终目标是在超时用户尝试发送消息时将他们重定向到登录页面。现在,如果超时的用户发送一条消息,当他们点击发送时消息不会显示,也不会向用户说明原因。
"An unauthorized connection attempt was rejected" 是 reject_unauthorized_connection
调用的直接结果。
"Failed to upgrade to WebSocket" 是 connect
调用 reject_unauthorized_connection
的结果。这意味着您的套接字连接尝试失败,并且您没有将 ("upgrade") 从 HTTP 模式切换到 WebSockets 模式。
如果我想实现超时用户发送消息的权限,我只需在数据库中保存最后发送消息的时间——在每条新消息之前检查它。
使用 Rails 5 和 ActionCable
"Failed to upgrade to WebSocket" 对比 "An unauthorized connection attempt was rejected"。 有人能告诉我这两个错误之间的区别以及它们可能在哪些功能下发生吗?我相信 "An unauthorized connection attempt was rejected" 发生在
App.cable = ActionCable.createConsumer();
我确实有:
def find_verified_user
if verified_user = env['warden'].user
verified_user
else
reject_unauthorized_connection
end
end
但我不确定升级错误。
我真正想做的是在超时用户(不是注销,而是超时)尝试发送消息时捕获。所以我不认为我必须在连接时抓住这个,但在请求时。有什么方法可以根据请求处理错误吗?
这里的最终目标是在超时用户尝试发送消息时将他们重定向到登录页面。现在,如果超时的用户发送一条消息,当他们点击发送时消息不会显示,也不会向用户说明原因。
"An unauthorized connection attempt was rejected" 是 reject_unauthorized_connection
调用的直接结果。
"Failed to upgrade to WebSocket" 是 connect
调用 reject_unauthorized_connection
的结果。这意味着您的套接字连接尝试失败,并且您没有将 ("upgrade") 从 HTTP 模式切换到 WebSockets 模式。
如果我想实现超时用户发送消息的权限,我只需在数据库中保存最后发送消息的时间——在每条新消息之前检查它。