/*
* $Id$
* $URL$
*/
package org.subethamail.web.action.auth;
import javax.security.auth.login.LoginException;
import lombok.Data;
/**
* Performs a login. The model starts as (and remains)
* a Login.Model.
*
* @author Jeff Schnitzer
*/
public class Login extends AuthAction
{
/** */
@Data
public static class Model
{
String email = "";
String password = "";
boolean remember;
String dest = "";
String error = "";
}
/** */
public void initialize()
{
this.getCtx().setModel(new Model());
}
/** */
public void execute() throws Exception
{
Model model = (Model)this.getCtx().getModel();
try
{
this.login(model.email, model.password);
if (model.remember)
this.setAutoLogin(model.email, model.password);
}
catch (LoginException ex)
{
model.password = "";
model.error = "Invalid username or password";
}
}
}