5

asp.net 2.0 フォーム認証で構成された大規模なユーザー ベースの Web サイトがあります。ユーザーがフォーム認証を介してログインする前に、使用しているマシンで Windows ログイン名/ユーザー アカウント名を取得できますか?

どうもありがとう

4

5 に答える 5

4

システムに別の Web アプリケーションを追加することで、それは確かに可能です。これが私がそれを行った大まかな方法​​です:

プライマリ Web アプリはフォーム認証を使用します。フォーム ログイン ページで、ローカル LAN 上にいると判断されたユーザー (IP アドレスを確認) は、Windows 認証を使用する別のアプリにリダイレクトされます。この 2 番目のアプリでは、ユーザーを特定し (アプリが存在するゾーンに資格情報を自動的に送信するようにブラウザーが構成されていると仮定します)、最初のアプリが読み取れる Cookie を設定し、ユーザーを元のアプリにリダイレクトします。 .

これは機能します。

于 2010-01-09T13:23:29.500 に答える
1

残念ながらいいえ - ユーザーがログオンしていない場合、ユーザーは匿名でブラウジングしているため、サーバーには認識されません。それらを識別する方法はありません。

偽装を使用している場合は、ログオンしたらWindowsIdentity.GetCurrent().Name. ただし、フォーム認証の場合、Windows を実行していない可能性があるため、ブラウザーに Windows 資格情報を直接要求する方法はありません。

于 2010-01-07T11:46:56.983 に答える
1

これは、Web アプリケーションで Windows 認証を使用していて、ユーザーがログインしている場合にのみ可能です。
目的の種類の情報は、Web 要求の一部として送信されない (当然のことです) ため、ユーザーには不明です。ウェブサーバー。

于 2010-01-07T12:09:14.507 に答える
0

Not BEFORE no (サーバーからではありません)。

ただし、使用する認証の種類とサイトの構成方法によっては、Windows の詳細を使用してログインさせることができます。

于 2010-01-07T11:44:54.413 に答える
0

Microsoft の MSDN の「ASP.NET でのフォームと Windows セキュリティの混在」を参照してください。

@TheObjectGuy の回答との主な違いは、2 つの Web サイトを使用する代わりに、「単一の」ページ (WinLogin.aspx) で統合 Windows 認証を使用するように IIS を構成することで、すべてを単一の Web サイトで行うことです。

于 2012-03-14T20:32:53.960 に答える