import javax.security.auth.*;
import javax.security.auth.login.*;

import java.security.*;

public class EjemploJAAS extends Object {

	public static void main(String[] args){
	try{
		if (args.length != 2) {
			System.err.println
				("Uso: java EjemploJAAS usuario password");
			System.exit(1);
		}

		// 1. LoginContext
		String usuario = args[0];
		char[] password = args[1].toCharArray();
		LoginContext loginContext = new LoginContext(
			"JaasModule", new UserPasswordCallbackHandler(usuario, password));

		// 2. login()
		loginContext.login();

		// 3. obtener el sujeto actual getSubject() e imprimir
		Subject subject = loginContext.getSubject();
		System.out.println("Logeado con el usuario: "+subject.toString());
	} catch (LoginException e) {
		System.out.println("No es posible identificar al usuario: "+e.getLocalizedMessage());
	}
}

}
