3

ADFS サーバーを構成しており、証明書利用者アプリケーションのユーザー フレンドリーなサインオンを実現しようとしています。

現在、私が知る限り、2 つの関連するオプションがあります。

  • Windows 認証: これはシングル サインオン プロバイダーとしてはうまく機能しますが、ユーザーが現在正しい Windows ドメインにいない場合、ユーザーにとって使いにくいポップアップが表示されます。
  • フォーム認証: これは、ユーザーがどこから来ているかに関係なく、常にログイン方法を要求します。

ここでの私の質問は、これらの要件を満たすことは可能ですか?

  • ユーザーが Windows アカウントでログインしている場合は、SSO を提供します。
  • それ以外の場合は、フォーム ログイン ページを表示し、ユーザーに Windows 資格情報を入力させます。
4

2 に答える 2

7

一般的に言えば、ユーザーがドメインにアクセスしているか、Web サイトからアクセスしていないかをプログラムで検出する方法はありません。サイトが Windows 認証で構成されている (および匿名を無効にしている) 瞬間、ntlm チャレンジがブラウザーに送信され、ドメインにいない場合は資格情報プロンプトがポップアップ表示されます。

https://serverfault.com/questions/380302/can-i-detect-authenticated-domain-users-in-iis-asp-net-without-prompting-every

これを実現する方法は DNS であり、プロキシ ロールを導入することで ADFS が推奨する方法です。内部 DNS は、login.yourcompany.comWindows 認証が有効になっている内部 ADFS に解決login.yourcompany.comされ、外部 DNS は、フォーム認証が有効になっているプロキシ ADFS ロールに解決されます。したがって、ネットワーク/ドメイン外のユーザーがアクセスできるように、DMZ でホストされている別のサーバーが必要です。

外部 IP にバインドされた同じ ADFS サーバー上に人工的な Web サイトを作成し、その Web サイトに "/adfs/ls/forms "

プロキシとそのセットアップに関する詳細情報 http://blogs.technet.com/b/askds/archive/2012/01/05/understanding-the-ad-fs-2-0-proxy.aspx

マティアス

于 2012-07-13T13:45:02.233 に答える
0

ブラウザから通知されたユーザー エージェント文字列に基づいて、フォーム認証または統合認証を指示すると、興味深いことがわかるかもしれません: https://blogs.ncl.ac.uk/isg/?p=296

于 2014-03-19T17:25:53.097 に答える