私は、社内ネットワークとインターネットの両方で利用できる会社の Web サイトに取り組んでいます。そして、私には不可能と思われることを尋ねられましたが、実際にそれを言う前に質問したかったのです!
社内には 2 種類のユーザーがいます。実際に Active Directory に登録されている (Windows ログイン アカウントなどを持っている) 人とそうでないユーザーです。
内部ネットワークでは、によって与えられた ID を使用しますHTTPContext.Current.User.Identity.Name
。この認証により、ユーザーが実際に存在するかどうかを Active Directory で確認し、Web サイトへのアクセスを承認できます。これは、当社の内部ネットワーク経由でアクセスするためのものです。内部ネットワーク経由で Web サイトにアクセスするすべての人が AD アカウントを持っている必要があるため、これで問題ありません。
さて、主な問題はインターネットアクセスです!現時点では、ポップアップが表示され、ログイン/パスワードを要求されます (かなり基本的なことで、AD を使用していないすべての人に同じです。理由は聞かないでください。これは要件です.....) . ユーザーが正しいログイン パスワードを入力すると、ユーザーの正体がわからなくても、ユーザーは Web サイトにアクセスできます。しかし、私が求められているのは、このポップアップに「Windows 資格情報を使用してログインする」というリンクを表示することです。次に、資格情報を取得し、AD が正しいかどうかを確認する必要があります。
インターネットで調べたところ、いくつかの識別方法を管理することになっている Windows Identity Fundation を見つけましたが、これは私が必要としているものではないと感じています。
誰もこれを試したことがありますか?? 私は知っています(そして私は彼らに言いました)これは非常に奇妙な要件ですが、とにかく見てみると言いました...
[編集 2013/09/13] 何か試してみましたが、うまくいかない理由を教えてください。匿名接続を許可するように IIS で Web サイトを設定しました。ログインフォーム(基本認証用で、認証なしでアクセスできます)のあるページと、匿名接続を拒否するためにweb.configで構成された別のページへのリンクを追加しました。認証用の Internet Explorer ウィンドウが表示されるのではないかと思っていましたが、代わりに 401 - Unauthorized アクセスが発生しました。それは通常の動作ですか、それとも構成の問題ですか?