SignalR 永続的接続の認証と承認 (SignalR 1.x)

作成者: Patrick FletcherTom FitzMacken

警告

このドキュメントは、SignalR の最新バージョン用ではありません。 SignalR の ASP.NET Coreを見てみましょう。

このトピックでは、永続的な接続に対して承認を適用する方法について説明します。 SignalR アプリケーションへのセキュリティの統合に関する一般的な情報については、「 セキュリティの概要」を参照してください。

承認を適用する

PersistentConnection を使用するときに承認規則を適用するには、 メソッドをオーバーライドするAuthorizeRequest必要があります。 永続的な接続で 属性を Authorize 使用することはできません。 メソッドは AuthorizeRequest 、要求の前に SignalR Framework によって呼び出され、ユーザーが要求されたアクションの実行を承認されていることを確認します。 メソッドは AuthorizeRequest クライアントから呼び出されません。代わりに、アプリケーションの標準認証メカニズムを使用してユーザーを認証します。

次の例は、認証されたユーザーに要求を制限する方法を示しています。

public class AuthenticatedConnection : PersistentConnection 
{ 
    protected override bool AuthorizeRequest(IRequest request) 
    { 
        return request.User.Identity.IsAuthenticated; 
    } 
}

AuthorizeRequest メソッドでは、カスタマイズされた承認ロジックを追加できます。たとえば、ユーザーが特定のロールに属しているかどうかを確認します。