You need to configure Spring Kerberos extension for security - this is the only possible way to do what you're describing in Spring Security 3. This supports SPNEGO negotiation, but requires some configuration on the server (and knowledge of how SPNEGO and Kerberos work).
There is not much documentation there, but the examples of Mike’s applications that it ships with 1.0M2 are great and cover most common scenarios, including SPNEGO automatic authentication.
The key to SPNEGO is customizing AuthenticationEntryPoint - you need to do this using the Spring bean, as shown below:
<bean id="kerbEntryPoint" class="org.springframework.security.extensions.kerberos.web.SpnegoEntryPoint" /> <bean id="kerbAuthenticationProcessingFilter" class="org.springframework.security.extensions.kerberos.web.SpnegoAuthenticationProcessingFilter"> <property name="authenticationManager" ref="authenticationManager" /> </bean>
... there are more beans that will be required besides them (again, refer to samples with the Kerberos extension). Send back if you continue to work with Spring Security or if you want accurate information (since there are several bits of beans / config, some knowledge about your configuration will be useful, for example, whether you use the <http> namespace style or not).
In addition to this option, you will need to configure a similar type of SPNEGO (for example, using WAFFLE, as you suggest) - other SO issues . pretty good.
Finally, you could use Tomcat with another web server that best supports SPNEGO or NTLM, such as Microsoft IIS or Apache Web Server with mod_spnego .
Hopefully one of these ideas will work for you!
Peter Mularien
source share