1
10package client;
11
12import java.rmi.RemoteException;
13import java.util.Properties;
14
15import javax.ejb.CreateException;
16import javax.ejb.RemoveException;
17import javax.naming.Context;
18import javax.naming.InitialContext;
19import javax.naming.NamingException;
20import javax.security.auth.Subject;
21import javax.security.auth.callback.TextInputCallback;
22import javax.security.auth.callback.PasswordCallback;
23import javax.security.auth.login.LoginContext;
24import javax.security.auth.login.LoginException;
25import javax.security.auth.login.FailedLoginException;
26import javax.security.auth.login.AccountExpiredException;
27import javax.security.auth.login.CredentialExpiredException;
28import weblogic.security.Security;
29
30import echo.*;
31
32public class Client {
33 static private String url = null;
34 static private String username = null;
35 static private String password = null;
36
37
38
39 public static void main(String[] args) throws Exception {
40 System.out.println("Running Echo Client...\n");
41 if (args.length == 0){
42 url = "t3://localhost:7001";
43 } else if (args.length == 1){
44 url = args[0];
45 } else if (args.length == 3){
46 url = args[0];
47 username = args[1];
48 password = args[2];
49 } else {
50 System.out.println("Usage:: java client.Client [<url> [<username> <password>]]");
51 return;
52 }
53
54 LoginContext loginContext = new LoginContext("Sample", new SampleCallbackHandler(username, password, url));
55 loginContext.login();
56 Subject subject = loginContext.getSubject();
57 SampleAction sampleAction = new SampleAction(url);
58 Subject.doAs(subject, sampleAction);
59 }
60}
61