Sharepoint 2010 を使用するために、Java に Kerberos 認証を実装しようとしています。
すでに大量の構成が行われています: SPN、委任、アクセス許可、ネットワーク。Kerberos の org.ietf.jgss 実装を使用します。
現在の状態は次のとおりです。IE は正常に動作しますが、Java アプリは正しく動作しません。
現在、ほとんど唯一の違いは、イベント ビューアー\Windows ログ\セキュリティにあります。
Internet Explorer でログインすると、次のように表示されます。
アカウントが正常にログオンしました。
...
新しいログオン:
セキュリティ ID: COMPANYDOMAIN\myusername
アカウント名: myusername
アカウント ドメイン: COMPANYDOMAIN
...
詳細な認証情報:
ログオン プロセス: Kerberos
JavaApp でログインします。
アカウントが正常にログオンしました。
...
新しいログオン:
セキュリティ ID: ANONYMOUS LOGON ------> ???
アカウント名: myusername
アカウント ドメイン: COMPANYDOMAIN.NET ------> .NET(!)
...
詳細な認証情報:
ログオン プロセス: Kerberos
Wireshark を使用すると、エンドポイントでチケットが正常に受け入れられたことがわかります。暗号化されたトークンのサイズ以外には違いはありません。さらに、SharePoint は私の Java クライアントで動作します。なぜ匿名ログインで機能するのかという質問は異なります。どこかでオフにする必要があります。
主な質問は、アカウント名とドメインが有効であるのに、セキュリティ ID が「ANONYMOUS LOGON」であるのはなぜですか? 委任\偽装の問題? しかし、IE は Active Directory の外にあるマシンからでも正常に動作しています。
必要に応じて、ネットワーク トラフィック、SPN、アプリ プール、アクセス許可、AD 構成などの追加情報を提供できます。
===========================
解決済み: この問題は、Active Directory ユーザー アカウントのプロパティ ([アカウント] タブ、[アカウント オプション] セクション) で [Kerberos 事前認証を必要としない] チェックボックスをオフにすることで解決されます。