SignalR 永続的接続の認証と承認 (SignalR 1.x)
作成者: Patrick Fletcher、Tom FitzMacken
警告
このドキュメントは、最新版の SignalR に対するものではありません。 ASP.NET Core SignalR に関する記事を参照してください。
このトピックでは、永続的な接続に認可を適用する方法について説明します。 SignalR アプリケーションにセキュリティを統合する方法に関する一般的な情報については、「セキュリティ入門」を参照してください。
認可を適用する
PersistentConnection を使用する際に認可規則を適用するには、AuthorizeRequest
メソッドをオーバーライドする必要があります。 永続的な接続では、Authorize
属性を使用できません。 AuthorizeRequest
メソッドは、ユーザーが要求されたアクションの実行を許可されているかを確認するために、すべての要求の前に SignalR フレームワークによって呼び出されます。 AuthorizeRequest
メソッドはクライアントから呼び出されません。代わりに、アプリケーションの標準認証メカニズムを使用してユーザーを認証します。
次の例は、認証されたユーザーに要求を制限する方法を示しています。
public class AuthenticatedConnection : PersistentConnection
{
protected override bool AuthorizeRequest(IRequest request)
{
return request.User.Identity.IsAuthenticated;
}
}
AuthorizeRequest メソッドには、ユーザーが特定のロールに属しているかどうかをチェックするなど、カスタマイズした認可ロジックを追加できます。