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に従ってハブをインスタンス化する方法-クライアント側で)