SignalRを使用してフォーム認証またはWindows認証を行う方法に関する情報がたくさんあります。自分の認証DBを使用することに興味があります。接続エージェントはサービスであり、人間の背後にあるWebブラウザではないため、.NETクライアントを使用します。私は、理想的には私のクライアントコードの使用希望:SignalR(.NETクライアント)でカスタム基本認証を使用するにはどうすればよいですか?
hubConnection.Credentials = new NetworkCredential(userName, password);
そして、私のサーバー・コードはハブの[承認]を使用すると、私に利用できるContext.Userを持っています。すべての通信はhttpsを超えているので、プレーンテキストは気にしません。
私はのIHttpModuleを使用した認証メカニズムを無効にする方法を示してasp.net basic authenticationガイドを読みました。しかし、HttpModuleのコードをブレークポイントすると、.NET SignalRクライアントからの要求に 'Authorization'ヘッダーが設定されていないようです。
私がやりたいことのすべては、自明のクライアントからユーザ名とパスワードを渡すと、認証がサーバー上で発生したどのようにアップコードです。それはとても難しいですか?魔法はありません。 Active Directoryがありません。私の認証。
現在、私の現在のアプローチは、カスタムAuthorizeAttributeを使用してSignalRレベルで解釈されるカスタムヘッダーを設定することですが、明らかに '正しい方法は承認レベルで認証を行うのではなく、 SignalRの処理が行われる前にWebサーバーに通知させてください。
誰もがフルのための良好な手順を説明しますが、汚れシンプル、カスタム認証してくださいことはできますか?
をOあなたが自己ホストされている場合、勝つものですか?私はIISでホストされ、app.Anything()とは思えません。私はそこではありません驚いているだけで「ValidateUserメソッドを提供し、あなたが行くオフ」 – Robin
あなたは、私がMicrosoft.Owin.Security.Basic NuGetパッケージのすべての日を検索してきたOwinはIIS –
上でホストされて使用することができます。これはもうnuget.orgにはありません。それは別のNuGetサーバーにありますか? Katanaプロジェクトサイトでは、このパッケージは2.0.0.0でリリースされたとのことです。助けてくれてありがとう。 –