私はログインプラットフォームを実装するWebシステムクラスのWebサイトの作成に取り組んでいます。認証された後のウェブサイトは、ユーザーが他のユーザーにメッセージを送信できるようになり、私はリアルタイムメッセージングを実行するためにSignalRを実装します。認証とAngularJSとSignalRの処理
AngularJS内で、C#バックエンドを呼び出してユーザー名とパスワードを提供し、認証できるシステムを作成したいと考えています。また、同時に、SignalRの役割ベースの認証を使用して、自分のメソッドが安全であることを保証したいと思います。
例:
[Authorize(Roles = "Admin")]
public class AdminAuthHub : Hub
{
}
は現在、私は、ユーザー名とパスワードを受け入れ、それをハッシュし、ハッシュ値を保存するために自分自身のコードを書いています。しかし、私はここでホイールを再発明したくありません。私はC#のバックエンドとSignalR技術の中で働いているので、私はMicrosoftベースの認証システムを使いたいと思っています。
私は現在、Microsoft Azureを使用してホスティングしていますが、動作していますが、私は結局、私が維持しているローカルにホストされたWindows Serverに切り替えるつもりです。 Active Directoryの使用について聞いたことがありますが、Active Directoryを使用したことがないため、新しいサーバーを準備するために広範なセットアップを行う必要があります。
私の全体的な質問はどのような経路ですか?また、私が厳密にMicrosoftのすべての方法で行くなら、Windows Server 2016上で簡単にアクティブなディレクトリを設定していますか?私の研究では、SQL Serverデータベースに対してユーザーを認証するASP.NETメソッドがあることがわかりました。この方法は、システムがASP.NETの外で使用でき、データが前に作業した形になっているので、好ましい方法でしょうか?
私は独自のカスタム認証ロジックを作成し、ユーザー名とパスワードを受け取り、自分のテーブルとデータベースをハッシュして使用しますか?次に、SignalR側で、ユーザー変数を設定し、自分の役割をデータベースから設定する方法を見つけます。次に、各メソッド呼び出しの始めにチェックを実行するだけです。
あなたは何ASP.Netフレームワークを使用していますか? 4.5.2?コア? Active Directoryを使用する必要はありません。https://www.asp.net/identityは開始するのに適しています。 AngularJS 1/2の場合は?おそらく、認証を処理するためにoAuth2とOpenId connectを見たいと思うでしょう。 –
私がAngularJsに言及した唯一の理由は、まだ認証された機能を実行する必要があるSignalRに接続されていないWebサイトの部分がある可能性があるからです。単にアカウントの設定を変更するなど。しかし、私はちょうどそのデータをサーバーに送信するAngularを書くことができ、サーバーはユーザーが認証されているかどうかを判断できますか? C#バックエンドはAsmxファイルで実行されます。私は古いと時代遅れを知っている。 –
私は、さまざまなウェブテクノロジーについて読んでみることをお勧めします。あなたが達成しようとしているのは、SignalRに接続された半静的なウェブサイトです。あなたはASP.Net MVCで何かしようとしていることを達成できると信じています。 "https://app.pluralsight.com/player?author=scott-allen&name=aspdotnet-mvc5-fundamentals-m3identity&mode=live&clip=0&course=aspdotnet-mvc5-fundamentals"は、開始するのに適しているかもしれません。 –