2017-02-23 23 views
0

こんにちは皆さん、私の質問をチェックする時間を取ってくれてありがとう。タイトルは、質問の正義をしないかもしれないようにビットを説明するためのactioncableチャットを管理者だけにロックする方法はありますか?

私は役割をチェックする方法の設定について行くと、それは管理者の場合は、その後に先に行くことができます最善の方法を学びたいですその人を行動可能なチャットにして、すべての接続をブロックしなければならない。

これをまとめてみましょう:これはリアルタイムなので、私はactioncable room/connectionハンドラのjs部分で何らかのスタートチェックをしてから、事のルビー側にある必要があると思います。

これはあなたから多くの質問をすることになるので、私はフルランニングダウンを望んでいません。

ちょうど小さな踏み台です。

  • deviseはアカウント処理に使用されており、私は自分の単純な役割システムを作っています。

  • 私はメッセージを作成するためにバックグラウンドジョブを処理するためにredisを使用します。

これへの私の最初の単純なアプローチは、 だけメッセージにアクションを作成する前に、役割を確認しましたが、それはまだactioncable/Redisの/チャットへの接続を開いたままになります。

前述のように、どんな指針も大変ありがとうございます。

ありがとうございます。

+0

ソリューション

def connect self.current_user = find_verified_user logger.add_tags 'ActionCable', current_user.email, current_user.access end protected def find_verified_user if (current_user = User.find_by_id cookies.signed['user.id']) if(current_user.access == "mod") current_user else reject_unauthorized_connection end end 

エンド エンド 終わり? –

+0

@maxpleがconnection.rbにチェックを追加しようとしましたが、ロジックが失敗し、すべての接続が拒否されました。 – EVX

+0

私はこの問題を解決しましたが、うまくいくようです。 – EVX

答えて

1

なぜ入ってくるのWebSocket接続ハンドラにチェックを追加しないと、そうでない場合は、それを拒否