WindowsSSONAuthenticatorADInfo.java
/**
* Originally contributed by eMation (www.emation.pt)
*/
package org.itracker.services.authentication.adsson;
import org.apache.log4j.Logger;
import org.itracker.model.User;
import org.itracker.services.exceptions.AuthenticatorException;
import javax.security.auth.login.LoginException;
import java.io.IOException;
/**
* Extends the windows single sign on class, gets user information
* from active directory
*
* @author ricardo
*/
public class WindowsSSONAuthenticatorADInfo extends WindowsSSONAuthenticator {
private static final Logger logger = Logger.getLogger(WindowsSSONAuthenticatorADInfo.class);
/**
* @see com.emation.itracker.authentication.WindowsSSONAuthenticator#getExternalUserInfo(java.lang.String)
*/
protected User getExternalUserInfo(String login) throws AuthenticatorException {
try {
// connect to active directory
ADIntegration ad = new ADIntegration();
ad.login();
// get external user info
User userModel = (User) ad.getUserInfo(login);
return userModel;
} catch (LoginException e) {
logger.error("getExternalUserInfo: " + e.getMessage() + AuthenticatorException.SYSTEM_ERROR);
throw new AuthenticatorException("Error accessing Active Directory: " + e.getMessage(), AuthenticatorException.SYSTEM_ERROR, e);
} catch (IOException e) {
logger.error(e.getMessage());
throw new AuthenticatorException(e.getMessage(), AuthenticatorException.SYSTEM_ERROR);
}
}
}