ntlmssp vs kerberos
質問
誰かが違うことを詳しく説明できますか?
現在、ntlmssp.authenticaten(jcifs)を使用していますが、getPassword()を実行できないようです。常にnullを返します
解決
違いがあります。
と Kerberos, 、Webアプリのサービスプリンシパル名(SPN)をドメイン管理者に尋ねる必要があります。基本的に、これは、Webアプリが認証要求をデコードできるようにする暗号化キーを備えたActive Directoryのエントリです。
と ntlm, 、管理者の協力は必要ありません。 Webアプリは、クライアント(すなわち、ブラウザ)から、ドメインコントローラーへのログオンを試みるために使用できる情報を取得します。クライアントからの情報には、ユーザーのパスワードが含まれていません。それはあまりにも安全ではありません。代わりに、NTLMフィルターはドメインコントローラーからチャレンジを取得し、クライアントに渡します。クライアントは、応答を作成するためにチャレンジでパスワードをハッシュします。この応答がログオン要求としてドメインコントローラーに送信されると、ドメインコントローラーは、パスワードが正しいかどうかをJCIFSフィルターに伝えます。
一部のJCIFクラスには、ユーザー名とパスワードからログオン要求を直接作成できるため、GetPassWordメソッドがあります。そのアプローチを使用する場合は、パスワードを設定するだけでなく、取得できます。ただし、これはブラウザに認証されるときに使用されるアプローチではないため、実際のパスワードを取得することはできません。
所属していません StackOverflow