取得を通じて、認証と承認が必要な製品が多数あります。製品には Web サイトとクライアント側アプリケーションが含まれ、クライアント側アプリケーションはいくつかの Web サービスを使用します。私たちは .Net ショップであり、サーバーは Server 2008 を実行し、クライアントは XP SP を実行します?? 以降。
製品のユーザーは私たちの組織の一部ではなく、スタンドアロン PC を持つ単一のユーザーから Active Directory などを実行している組織内のユーザーまで実行されます。
現在、共通の認証または ID ストアはなく、私たちはそれを改善しようとしています。私たちの目標は次のとおりです。
- すべての製品で単一のユーザー名とパスワード (または証明書)。
- 理想的には、シングル サインオン (クライアント アプリから Web サイトを起動する場合は簡単ですが、ユーザーが最初に Web サイトにログオンし、後でクライアント側アプリを起動する場合はおそらくそうではありません)。
- プラス通常; 堅牢でスケーラブル...
ほとんどの企業と同様に、リソースは限られており、スケジュールはタイトです。
推奨される認証パスの 1 つは Kerberos です。これは、クライアント アプリが Web サービスに対して認証するためのおそらく理想的なルートですが、ユーザーがユーザー名とパスワードを送信し、Web サーバーが発券を担当します(その後、チケットをCookieに保存しますか?)。単一の ID ストアと、ユーザー名とパスワードを取得し、並べ替えられたハッシュと比較して、カスタムの時間ベースのセキュリティ トークンを発行する独自の認証サービスを使用する方がよいと思います。多分SqlMembershipProviderを使用しますか?
ここまで読んでくれた人に感謝します。Kerberos はこのシナリオに最適ですか、それとも別の方法を検討する必要がありますか? 適切でない場合、その理由は何ですか?
承認のために AD LDS も検討していますが、この投稿はすでに十分に長いと思います...