/*
* Copyright 2003-2010 Tufts University Licensed under the
* Educational Community License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may
* obtain a copy of the License at
*
* http://www.osedu.org/licenses/ECL-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an "AS IS"
* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* AuthenticationTest.java
*
* Created on October 29, 2003, 2:32 PM
*/
package tufts.oki.authentication;
import java.io.*;
import tufts.oki.shared.*;
/**
*
* @author Mark Norton
*/
public class AuthenticationTest {
/** Creates a new instance of AuthenticationTest */
public AuthenticationTest() {
}
/**
* Read a line from stdin.
*/
public static String readline() throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
return in.readLine();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws java.io.IOException {
System.out.println ("Test of Tufts LDAP User Authentication");
System.out.println ("--------------------------------------");
AuthenticationManager sm = null;
try {
String key = "myKey";
osid.OsidOwner myOwner = new osid.OsidOwner();
myOwner.addContext(key, "osid_mjn");
//sm = (AuthenticationManager) osid.OsidLoader.getManager("osid.authentication.AuthenticationManager", "src.oki.authentication", myOwner);
sm = new AuthenticationManager (myOwner);
}
catch (osid.OsidException e) {
System.out.println ("Error when loading the authentication manager.");
e.printStackTrace();
System.exit(0);
}
String username = null;
while (true) {
System.out.println ("");
System.out.print ("User name: ");
username = readline();
if (username.length() == 0)
System.exit(0);
else {
sm.setUsername(username);
try {
sm.authenticateUser(new AuthenticationLDAP());
//System.out.println ("tenative authentication.");
}
catch (osid.authentication.AuthenticationException ex) {
System.out.println (username + " is not authenticated.");
continue;
}
osid.shared.Agent agent = sm.getAgent(new AgentPersonType());
if (agent == null) {
System.out.println ("Agent is null.");
}
else {
try {
String dispName = agent.getDisplayName();
System.out.println (dispName + " is LDAP authenticated.");
} catch (osid.shared.SharedException ex2) {}
}
}
}
}
}