1

2つのハブがあるとしましょう。

1 つは管理者操作用で、もう 1 つはユーザー操作用です。

[Authorize(Roles = "Admin")]
public class MyHubAdmin : Hub
{..}

&

[Authorize(Roles = "Users")]
public class MyHubUsers : Hub
{..}

現在、私のクライアントは admin のみをサポートしています:

var _myHub = $.connection.myHubAdmin;

そして、私は今、治療すべき別のものがあることを知っています:

var _myHub = $.connection.myHubUsers ;

ps (同じ接続を共有していることはわかっています)

でもクライアントはクライアント

彼は 2 分前にログインしたので、私 は彼が誰であるかを知っ ています (管理者とユーザー)

では、JS クライアントは次のようになります。

このようなものであるべきですか?

var _myHub=null;

if (check if user)  //or admin...
{
    _myHub = $.connection.myHubUsers;
}
else 
{
    _myHub = $.connection.myHubAdmin;
}

Question

機能について"check if user"

私は2つの方法でそれを行うことができるようです:

  • ユーザーがログインするとき、彼(管理者またはユーザー)が誰であるかを示す値をCookieに保存し、JSで読み取ります
  • ページがレンダリングされるとき(ログイン後)、値を非表示の入力に入れ、JSで読み取ります。

これは正しい方法ですか?

(要するに:ユーザーIDに従ってハブをインスタンス化する方法-クライアント側で)

4

1 に答える 1