SignalR 永続的接続の認証と承認

作成者: Patrick FletcherTom FitzMacken

警告

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

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

このトピックで使用するソフトウェアのバージョン

このトピックの以前のバージョン

SignalR の以前のバージョンの詳細については、「 SignalR の古いバージョン」を参照してください。

質問とコメント

このチュートリアルが気に入った方法と、ページの下部にあるコメントで改善できる内容に関するフィードバックをお寄せください。 チュートリアルに直接関連しない質問がある場合は、 ASP.NET SignalR フォーラム または StackOverflow.com に投稿できます。

承認を適用する

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

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

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

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