Java JEE5 App. Klient med Windows-godkendelse og uden at anmode om brugernavn og adgangskode

Indlæg af Hanne Mølgaard Plasc

Problem



Vi har JAVA JEE5 virksomhedsapplikation bestående af et webmodul og en app-klient, der kører på glasfisk.


Vi skal indstille godkendelse mod aktiv mappe. Jeg er opmærksom på, at det er nemt at konfigurere LDAP-baseret godkendelse til et webmodul eller applikationsklientmodul, men de beder os om at hente credentials fra Windows-logon, når du starter applikationsklienten, og at legitimationsoplysningerne på en eller anden måde formeres til ejb niveau som sædvanlig. Dette omfatter ikke kun brugerens hovedstol, men også rollerne.


Kort sagt er mit spørgsmål: Kan JAAS plugge til Windows-godkendelsesmekanismen til desktop-klienter uden at anmode brugeren om brugernavn og adgangskode?


Tak,
Pablo.

Bedste reference


Jeg ved ikke om detaljerne eller JAAS-kompatibiliteten, men jeg mener, at SPNEGO og/eller Integreret Windows-godkendelse er de ting, du leder efter. [2] [3]

Andre referencer 1


Jeg kan ikke hjælpe dig, men jeg ved, at Hudson Continuous Container Container har et plugin, der kan gøre dette både når du kører på Windows og kører på Linux for at logge ind på Hudson. Du vil måske gerne se nærmere på det.

Andre referencer 2


Jeg har ikke prøvet dette, men her er et kodeeksempel på at trække NTLM brugernavnet fra browseren:


http://www.rgagnon.com/javadetails/java-0441.html[4]


Men da du taler om en desktop-applikation, kan dit spørgsmål være, hvordan du får brugernavnet fra din java-applikation, da NTLM virkelig ikke er involveret.


http://www.roseindia.net/java/java-get-example/java-get-windows-username.shtml[5]


Dybest set vil du bare bruge: System.getProperty("user.name").


UPDATE:


Da roller og alle er nødvendige, kan du finde ud af at bruge JNI (http://download.oracle.com/javase/6/docs/technotes/guides/jni/) kan være din bedste indsats, men så binder du denne app til Windows, men det lyder som om det vil være alligevel, da du derefter kan kalde Windows API-funktioner fra Java. [6]