Windows SSO from Client Application not Servlet

Mar 2, 2011 at 8:08 PM

Hi!

I am tasked with creating a Java Client Application that can run from Windows or Linux and access corporate web servers using SSO.

This is an application to monitor response times of those servers.  The first version of this application connects to HTTP and HTTPS servers using a proxy to "record" and then "simulate" HTTP(S) request/response pairs.  These pairs are grouped into "Steps" that are timed as they are initially recorded.  At designated intervals the recordings are replayed as "simulations" and the response times noted for comparison.

If something changes in these response times the application can communicate those changes to a human.  The actual content of the request/response pairs is not important. The timings are.

The next version of this application needs to use Windows SSO to access secure web sites from within a corporate firewall.

I have managed to figure out how to obtain a javax.security.auth.login.LoginContext using the waffle.jaas.WindowsLoginModule.

Now I need to "bless" my jar file so that the simulator code can run using SSO.  Clearly I do not have the same file structure as Tomcat so I do not have a simple way to access Realms and give permissions to jar files like Tomcat does with .xml files.

Am I on the right track here?  Any hints or live examples would be much appreciated.

Thanks.

David

Coordinator
Mar 3, 2011 at 1:29 PM

You're writing a client application, not a server one. So this should be as simple as being able to talk NTLM / Negotiate on the client. NTLM is supported by standard java HttpURLConnection (link), maybe that's a simpler route? Of course waffle will do the job too, just with more code :)

What kind of client app is this? I am not sure why you need to "bless" the jar? What are the specific errors?

Also, maybe you can share your code for obtaining javax.security.auth.login.LoginContext (here or your blog or whatever)? Could be useful for others.