Windows上のWebブラウザーからユーザー名とパスワードなしでログインする

StackOverflow https://stackoverflow.com/questions/422403

質問

Windowsでは、ユーザー名とパスワードを入力して通常のログインを行うことなく、WebブラウザーからWebサーバーにログインできるが、代わりにNTLMプロトコルを使用してWindowsから直接資格情報を使用すると聞いた。

これはどのように達成されますか? Webサーバーは追加の認証をサポートする必要がありますか?

更新: IISだけでなく、一般的なWebサーバーを要求しています。たとえば、Apacheでこれを行うにはどうしますか?

役に立ちましたか?

解決

Webサーバーは、Windows認証をサポートするように構成する必要があります(クライアントとサーバーの両方がW2K以降の場合、NTLM、またはより良いのはKerberos)。 IISまたはApacheは、そのように構成できると思います。

ブラウザもこれをサポートする必要があります-少なくともIEはサポートします(他のサイトについては不明ですが、可能かもしれません)。 編集:firefoxもこれをサポートしているようです。MacOSではサファリ

編集:Apacheの詳細については、NTLM認証用のGoogleモジュール。 Kerberosモジュールも存在します。他の回答によると、これは実際にはイントラネットでのみ動作します-ブラウザがイントラネットゾーンにある必要があるだけでなく(IEにのみ適用)、介在するファイアウォールは通常この動作を停止し、必要なドメイン間信頼がおそらく存在しません。また、ApacheサーバーがUNIX上にある場合、特にUNIX上にKerberosサーバーも混在しているが、それでも可能であれば、動作させるのは少し難しくなります。

他のヒント

特定の状況でのみシームレスになります。つまり、WebサーバーはNTLM(IISなど)をサポートする必要があり、クライアントが信頼するように構成されているゾーン内にある必要があります(エンドユーザーが設定を調整していない限り、IE用語では「イントラネットゾーン」)

WebサーバーとクライアントPCがActive Directoryなどで保護されたネットワーク上にある場合、すべてのIEクライアントに自動的にログインするWebサイトのWebサーバー上のIISで「Windows統合セキュリティ」を設定できます(許可されます)。

前述のとおり、NTLMは通常、バックエンドがWindows管理(MS Active Directory)の場合に使用されます。ただし、Apacheで利用できる次のモジュールもあります: mod_ntlm

これは独自のプロトコルであるため、ブラウザがこのプロトコルを理解し、認証チャレンジに応答できる必要があります。どのブラウザがこのオフハンドをサポートしているかはわかりませんが、私の想定ではほとんどがサポートしているでしょう。

私の経験から、ケルベロスはより好まれた方法ですが、私はあまり取り組んでいませんので、残念ながら、それに関してはあまりアドバイスをしていません。

補足として、認証されたユーザーのID情報を取得するために、JREがWebサーバー上のNTLMに結び付ける方法も持っていることをどこかで読んだことを思い出します。前述したように、.NETはこれもサポートしています。

また、FirefoxはデフォルトでNTLMをサポートしていませんが、次のtutを使用して設定できます: http://www.crossedconnections.org/w/?p=89

認証を要求するようにIIS設定を設定した場合、ユーザーはページにアクセスするためにログインする必要があります。その後、通常の方法(コンソールから)でログインした場合に、そのサーバー上のすべてのものに対する任意の権利(インターフェイスでない場合)を持ちます。

これ以外に、あなたが何を指しているのかわかりません。

はい、これは可能です。多くの場合、ユーザーがいるイントラネットアプリケーションで使用されます。 windowsは、 NTLM または Kerberos を使用して、ユーザーを中央サービス(通常はWindowsプラットフォームの Active Directory )に対して認証します。 .NETプラットフォームでは、 System.Threading.Thread.CurrentPrincipal.Identity インスタンスから現在のユーザー情報にアクセスできます。

後でかなり似た質問を見つけました NTLMを取得IISを使用しないRailsへのActive Directoryユーザーデータと適切な回答。

Jespaを調べることもできます。 Kerberosよりも少し簡単ですが、優れたntlm sso機能を提供します。

Kerberosに関する詳細情報を探していました(NTLM、v2もAD 2008で非推奨になったため)、Apacheで動作させる方法を説明したこの記事を見つけました(あなたが言及したように)。 http://blog.scottlowe.org/2006/ 08/10 / kerberos-based-sso-with-apache /

この質問はおそらく時代遅れ(または少なくとも解決済み)ですが、誰かを助けることができれば...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top