Ein gäniges Requirement in internen Web-Anwendungen ist Single-Sign-On, um den Benutzern das leidige Authentifizieren zu ersparen.
Falls dies in einer Java Web-Applikation mittels Kerberos und SPNEGO z.B. innerhalb einer Windows Domäne umgesetzt werden soll, gibt es mittlerweile hierzu ein nettes OpenSource Projekt:
http://spnego.sourceforge.net/
Mithilfe eines SPNEGO Servlet Filters wird die gesamte Kerberos Authentifizierung kompackt gekapselt und der Anwendung steht via HttpServletRequestgetRemoteUser() die ermittelte Identität zur Verfügung.
Der fortgeschrittene und besonders interessante Anwendungsfall ist natürlich die Credentials Delegation. Hierbei wird beweisbar im Namen des vor dem Rechner angemeldeten Benutzers vom WebServer auf einen anderen weiteren Server zugegriffen.
Hier ist eine nette Anleitung für einen SOAP WebService (z.B. Sharepoint) zu sehen:
http://spnego.sourceforge.net/protected_soap_service.html
Folgende Code-Beispiele zeigen, wie ein SOAP Service mit SPNEGO ohne axis2 Framework aufgerufen werden kann:
http://spnego.sourceforge.net/SpnegoHelloClient.java
http://spnego.sourceforge.net/ExampleSpnegoSOAPClient.java