001    package org.trails.page;
002    
003    import org.apache.commons.logging.Log;
004    import org.apache.commons.logging.LogFactory;
005    import org.apache.tapestry.IRequestCycle;
006    import org.apache.tapestry.RedirectException;
007    import org.apache.tapestry.html.BasePage;
008    
009    public abstract class LoginPage extends BasePage {
010    
011            private static final Log LOG = LogFactory.getLog(LoginPage.class);
012    
013            public abstract String getUsername();
014    
015            public abstract String getPassword();
016    
017            public abstract boolean getRememberMe();
018            
019            public void login(IRequestCycle cycle) throws RedirectException {
020    
021                    LOG.debug("User " + getUsername() + " is attempting login.");
022    
023                    String acegiUrl = cycle.getAbsoluteURL("/j_acegi_security_check?j_username=" + getUsername() + "&j_password=" + getPassword() + "&j_rememberme=" + getRememberMe());
024    
025                    throw new RedirectException(acegiUrl);
026            }
027    
028    }