1

統合された Windows 認証 (SPNEGO などを使用) を介してユーザーの認証を試みるカスタム ログイン画面を作成し、その試みが失敗した場合は、フォーム ベースのアプローチにフォールバックしたいと考えています。

プロセスは理想的にはこのように機能します...

有効な AD ユーザーとしてログインしたユーザー

  1. ユーザーがアプリケーションにアクセスしようとすると、IdentityServerにリダイレクトされます。
  2. カスタム ロジックは、AD 資格情報を使用してユーザーの検証を試み、成功します。
  3. ユーザーは認証され、リダイレクトされます...

ユーザーが有効な AD ユーザーとしてログインしていません

  1. ユーザーがアプリケーションにアクセスしようとすると、IdentityServerにリダイレクトされます。
  2. カスタム ロジックは、AD 資格情報を使用してユーザーの検証を試み、失敗します。
  3. ユーザー名とパスワードを入力するフォームが表示されます。
  4. ユーザーは認証され、リダイレクトされます...

これを実現するためにカスタムIUserService実装を作成したいと思っていましたが、ドキュメントを読んでも、これがどのように行われるかは明らかではありません。

これを実現するには、カスタム ID プロバイダーを作成する必要がありますか?

ガイダンスをいただければ幸いです。

4

1 に答える 1

2

心配する必要があるのは、カスタム IUserService ではないと思います。IdSrv3 がユーザーから資格情報を収集すると、IUserService はユーザーを検索します。したがって、統合は早期に行う必要があります。

難しいのは後退です。Windows 認証で保護されているページがある場合、認証できるかどうかを決定するのはクライアントです。ユーザーを認証できない場合は、通常、ユーザーに資格情報の入力を求め、これらを送信しようとします。何をすべきかを自動的に知ることはありません。

おそらく最高のユーザー エクスペリエンスを提供するアプローチは、Google などでログインすることを選択できるように、ページを表示してユーザーがログイン方法を選択できるようにすることです。その後、これを外部プロバイダーとして接続できます。

于 2015-08-14T23:23:03.077 に答える