/* Logs in using the information provided when the * user logged in to the system. Use the command * java -Djava.security.auth.login.config=NT.config * NTclient xxx */ import java.util.Set; import java.security.Principal; import javax.security.auth.Subject; import javax.security.auth.login.LoginContext; import com.sun.security.auth.NTUserPrincipal; import javax.security.auth.login.FailedLoginException; public class NTclient { public static void main(String[] args) { LoginContext context = null; try { context = new LoginContext("NT"); context.login(); Subject subject = context.getSubject(); System.out.println(subject); Set principals = subject.getPrincipals(NTUserPrincipal.class); Object[] p = principals.toArray(); boolean found = false; for (int i = 0; i < p.length; i++) if( ((Principal)p[i]).getName().equals(args[0])) found = true; if(found) System.out.println("login succeeded"); else throw new FailedLoginException("Login failed"); }catch(Exception e) { e.printStackTrace(); } } }