11

私は現在、いくつかの問題を引き起こしている要件を持つプロジェクトに取り組んでおり、それを処理する最善の方法を知りたいです。

基本的に、内部ユーザーが MVC アプリケーションにアクセスし、AD を介して認証されるようにしたいと考えています。これは SSO とほとんど同じであり、コンピューターにサインオンしてサイトに移動すると、ログインできます。

2 番目のタイプのユーザーは、AD に存在しない外部パートナーであり、SQL Server を通じて管理したいと考えています。これらのユーザーに対して、ログイン ページを表示し、フォーム認証を行います。

最初の私の考えは単純でした。IIS に Windows 認証で認証を試みさせ、失敗した場合 (401) はログイン ページにリダイレクトします。現在、これをテストする環境はありませんが、IIS7 での理解からすると、それほど単純ではなく、達成するには少し「ハック」が必要です。システムが機能するように設計されているため、システムをだましてではなく機能するソリューションが必要です。

ADFS と WIF を調べましたが、ADFS は SQL ではなく AD のみをサポートし、私が見たところ、SQL Server をサポートする STS はありません。Windows 認証を使用する内部アプリケーションとフォーム認証を使用する外部アプリケーションの両方をホストすることを検討しましたが、可能であればこれを避けたいと考えています。

理想的には、ユーザーが MVC アプリケーションに移動し、IIS が Windows 認証を試行し、失敗 (401) するとログイン ページにリダイレクトするというフローが必要です。そこからログイン ページは、SQL データベースに対してユーザー資格情報を認証します。1 つの MVC アプリケーション内でこれをすべて達成する最善の方法は何ですか?

ありがとうございました!

4

3 に答える 3

1

SQL サーバーをサポートする STS があり、それは IdentityServer です。

https://github.com/thinktecture/Thinktecture.IdentityServer.v2

さまざまな可能性を提供するカスタム メンバーシップ プロバイダーもサポートしています。ただし、統合認証が失敗したときにフォームへの自動フォールバックをサポートしているかどうかはわかりません。そうでない場合は、カスタム sts または 2 つの明示的な stses と、ユーザーの明示的な選択の 2 つのオプションがあります。後者のシナリオを ADFS で 1 回実装しました。1 つはフォーム、もう 1 つは統合認証を使用し、最初の 1 つは他とフェデレートされた 2 つの adfses がありました。これにより、ホーム レルム ディスカバリ ページで明示的な選択が可能になります。

于 2013-12-06T19:56:57.210 に答える