サーバーがクライアント ブラウザから受信して に渡したを検証/認証しtype3message
たい。私はそれを行う方法を理解することができません。Apache httpd
Apache Tomcat
hereに示されているように、次のメカニズムが用意されています。C
クライアントです。S1
はApache httpd
サーバーでS2
あり、Apache Tomcat
サーバーです。
1. C -> S1 GET ...
2. S1 -> C 401 Unauthorized
WWW-Authenticate: NTLM
3. C -> S1 GET ... (type 1 message)
Authorization: NTLM TlRMTVNTUAABAAAAA7IAAAoACgApAAAACQAJACAAAABMSUdIVENJVFlVUlNBLU1JTk9S
4. S1 -> C 401 Unauthorized (type 2 message)
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAAAAACgAAAABggAAU3J2Tm9uY2UAAAAAAAAAAA==
5. C -> S1 GET ... (type 3 message)
Authorization: NTLM TlRMTVNTUAADAAAAGAAYAHIAAAAYABgAigAAABQAFABAAAAADAAMAFQAAAASABIAYAAAAAAAAACiAAAAAYIAAFUAUgBTAEEALQBNAEkATgBPAFIAWgBhAHAAaABvAGQATABJAEcASABUAEMASQBUAFkArYfKbe/jRoW5xDxHeoxC1gBmfWiS5+iX4OAN4xBKG/IFPwfH3agtPEia6YnhsADT
6. S1 -> S2 Challenge - TlRMTVNTUAACAAAAAAAAACgAAAABggAAU3J2Tm9uY2UAAAAAAAAAAA==
Token - TlRMTVNTUAADAAAAGAAYAHIAAAAYABgAigAAABQAFABAAAAADAAMAFQAAAASABIAYAAAAAAAAACiAAAAAYIAAFUAUgBTAEEALQBNAEkATgBPAFIAWgBhAHAAaABvAGQATABJAEcASABUAEMASQBUAFkArYfKbe/jRoW5xDxHeoxC1gBmfWiS5+iX4OAN4xBKG/IFPwfH3agtPEia6YnhsADT
7. S2 -> S1 Authenticated or Not Authenticated
8. S1 -> C 200 Ok or 401 Unauhorized
サーバーで、Apache Tomcat
ユーザーを認証したい。ステップ 4 でクライアントに送信されたサーバーとchallenge/type2message
、ステップ 5 でクライアントが応答した .Apache httpd
type3message
私は次のことをしていますが、例外が発生します。構成や環境の設定など、いくつかの基本的なことが欠けていますが、何らかの理由で私の脳は機能しません。
NtlmPasswordAuthentication np = new NtlmPasswordAuthentication(t3m.getDomain(), t3m.getUser(), serverChallenge, t3m.getLMResponse(), t3m.getNTResponse());
InetAddress ia = InetAddress.getByName("domain");
UniAddress ua = new UniAddress(ia);
SmbSession.logon(ua, np); // exception is here
私はそれを正しくやっていますか?ユーザーを認証したい。