ハブから AddMessage メソッドを削除します。
それは本当にそれです。
それでも Web からの機能が必要な場合は、チェックするために何らかのセキュリティを設定する必要があります。SingalR にはまだこれが組み込まれていません。
または、Web の外部からのみ必要な場合 (サーバーがイベントを発行するだけなど) は、ハブの外部メソッドで問題ありません (ページの下部にあるハブの外部からのハブ経由のブロードキャストを参照してください: https:// github.com/SignalR/SignalR/wiki/Hubs )
別のオプションは、特定のアクションの開始時に認証を確認することです。あなたはクッキーにアクセスできます。しかし、私はそれを使用していないので、私は通常のメンバーシップシステムについて確信が持てません. Cookie にアクセスできるので、認証に使用するパターンは次のとおりです。
public SomeHub : Hub
{
public void RandomAction()
{
if(!CheckCookie("Role Required"))
{
//In here we have what happens when there is
// a cookie that is associated with the right Role Required
}
}
}
CheckCookie でメンバーシップ システムを使用できる場合がありますが、これが役立つ場合があります。
string CookieName = "Website Authentication";
string vReturn = null;
HttpCookie vCookie = null;
if(HttpContext.Current.Request.Cookies.AllKeys.Any(t => t == CookieName))
vCookie = HttpContext.Current.Request.Cookies[CookieName];
if(vCookie != null)
vReturn = FormsAuthentication.Decrypt(vCookie.Value).Name;
return vReturn;
メンバーシップ Cookie の名前はそうではなく、単なるフィラーです。