2017-02-10 1 views
0

私はこれまで何もしていないことについていくつかのアドバイスやヒントを必要としています。 サポートユーザーとして、ログインユーザーを偽装し、サポートユーザーがメンテナンスタスク(ログインしたユーザーと同じ経験を持つ)を行っている間に、そのユーザーのインターフェイスをブロックする必要があります。ユーザーのなりすまし

アプリのフロントエンドは角2で書かれており、Drupalベースのバックエンドからデータを取得しています。

問題は、Webソケットを使用してログインしているユーザーにライブ情報を送信し、そのインターフェイスをブロックする方法です。

編集:新しい要件があります。したがって、サポートユーザーはユーザーを偽装することができますが、ユーザーがログに記録されている場合、サポートはライブ通知を他のユーザーに送信してから、インターフェース(通常のユーザー)をブロックする必要があります。私はdrupal + angularでこれを行うことはできますか?または、ノードsを中間svとして必要としますか?

答えて

0

私は次の操作を行います:

[UiBlocked]、2列[ImpersonatedAsUserKey]でサポーターを偽装するボタン とActiveUsersを検索することができますいくつかのグリッドをユーザー表を拡張します。上のサポータークリック「が偽装」すると

アップデート[ImpersonatedAsUserKey] =「selectedUserKey」

アップデート[UiBlocked]への影響を受けるユーザーのデータベース行へのサポートユーザーのデータベース行=真

を送ります影響を受けるユーザーにSocketMessageを送信してモーダルダイアログでUIを変更する サポートユーザーがサポートを受けていることを通知します。

次に[ImpersonatedAsUserKey]

事によってaffectedUserのようなウェブは心の中で持っているサポーターの再充電のインスタンス上のユーザが行う場合は、ページのリフレッシュは チェックに心の中で取ります値がある場合、データベースのUiBlocked値でドロップモーダルを表示します。

"偽装"が終了したら、データベース値をデフォルトの にリセットし、ドロップモーダルを非表示にするためにソケットメッセージをユーザーに送信します。

を入力し、サポートUIをリロードしてデフォルトのUIを取得します。

よろしくお願いいたします。

関連する問題