SignalR 永続的接続の認証と承認
作成者: Patrick Fletcher、Tom FitzMacken
警告
このドキュメントは、SignalR の最新バージョン用ではありません。 SignalR の ASP.NET Coreを見てみましょう。
このトピックでは、永続的な接続に対して承認を適用する方法について説明します。 SignalR アプリケーションへのセキュリティの統合に関する一般的な情報については、「 セキュリティの概要」を参照してください。
このトピックで使用するソフトウェアのバージョン
- Visual Studio 2013
- .NET 4.5
- SignalR バージョン 2
このトピックの以前のバージョン
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 メソッドでは、カスタマイズされた承認ロジックを追加できます。たとえば、ユーザーが特定のロールに属しているかどうかを確認します。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示