リモートユーザーを認証するために spring-security-kerberos を使用しています - これはうまくいきます。私が抱えている問題は、ユーザーが kerberos チケットを持っていない場合があり、別の形式の認証を使用する必要があることです。myCusomAuthenticationProvider
この目的のために、独自の認証プロバイダー ( ) を作成しました。このカスタム プロバイダーは、ユーザーに BASIC 認証を要求し、いくつかの LDAP サーバーを使用して、ユーザー名とパスワードに基づいてユーザーを認証します。
私が見ている問題は、カスタム認証マネージャーが常に認証トークンとして KerberosServiceRequestToken を取得し、UsernamePasswordAuthenticationToken を取得できないことです。サーバーが "Negotiate" と "Basic" の両方のメソッドをブラウザーに返すようにし、独自のプロバイダーに基本認証を処理させるにはどうすればよいですか?
spring-security-kerberos コードを微調整してそれを行う方法を見つけましたが、これを行うためのより良い方法を見つけようとしています。
web.xml: http://pastebin.com/embed.php?i=ZidnBMwZ
root-context-with-krb.xml: http://pastebin.com/c8vfUZfV