return;
}
// check to make sure the user entered the right confirmation key
// if not, then send them to the ConfirmRegistration screen
JetspeedUser user = JetspeedSecurity.getUser(username);
if (user == null)
{
logger.warn("JLogin User: Unexpected condition : user is NULL");
return;
}
String confirm_value = user.getConfirmed();
if ( ! secretkey.equals ( confirm_value ) && ! confirm_value.equals ( JetspeedResources.CONFIRM_VALUE ) )
{
if ( newUserApproval )
{
data.setMessage(CustomLocalization.getString("JLOGINUSER_KEYNOTVALID", rundata));
data.setScreenTemplate("NewUserAwaitingAcceptance");
return;
}
else
{
if ( user.getConfirmed().equals(JetspeedResources.CONFIRM_VALUE_REJECTED))
{
data.setMessage(CustomLocalization.getString("JLOGINUSER_KEYNOTVALID", rundata));
data.setScreenTemplate("NewUserRejected");
return;
}
else
{
data.setMessage(CustomLocalization.getString("JLOGINUSER_KEYNOTVALID", rundata));
data.setScreenTemplate("ConfirmRegistration");
return;
}
}
}
user.setConfirmed( JetspeedResources.CONFIRM_VALUE );
data.setMessage (CustomLocalization.getString("JLOGINUSER_WELCOME", rundata));
JetspeedSecurity.saveUser(user);
}
JetspeedUser user = null;
try
{
user = JetspeedSecurity.login(username, password);
JetspeedSecurity.saveUser(user);
}
catch (LoginException e)
{
data.setScreenTemplate(JetspeedResources.getString(TurbineConstants.TEMPLATE_LOGIN));
String message = e.getMessage() != null ? e.getMessage() : e.toString();
data.setMessage(message);
data.setUser(JetspeedSecurity.getAnonymousUser());
data.getUser().setHasLoggedIn(new Boolean (false) );
if (e instanceof FailedLoginException)
{
if (!disableCheck(data))
{
logger.info("JLoginUser: Credential Failure on login for user: " + username);
data.setMessage(CustomLocalization.getString("PASSWORDFORM_FAILED_MSG", rundata));
}
}
else if (e instanceof AccountExpiredException)
{
logger.info("JLoginUser: Account Expired for user " + username);
}
else if (e instanceof CredentialExpiredException)
{
logger.info("JLoginUser: Credentials expired for user: " + username);
data.setScreenTemplate(
JetspeedResources.getString(JetspeedResources.CHANGE_PASSWORD_TEMPLATE, "ChangePassword")
);
data.setMessage(CustomLocalization.getString("PASSWORDFORM_EXPIRED_MSG", rundata));
data.getParameters().setString("username", username);
}
return;
}
catch (Throwable other)
{
data.setScreenTemplate(JetspeedResources.getString(TurbineConstants.TEMPLATE_ERROR));
String message = other.getMessage() != null ? other.getMessage() : other.toString();
data.setMessage(message);
data.setStackTrace(org.apache.turbine.util.StringUtils.stackTrace(other), other);
JetspeedUser juser = new FakeJetspeedUser(JetspeedSecurity.getAnonymousUserName(), false);
data.setUser(juser);
return;
}
if (user.getDisabled())
{