From 56c549e384b1a648c77bbd09a2cc77976e8a64de Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 24 May 2011 17:39:55 -0400 Subject: [PATCH] Documentation. --- src/com/gitblit/wicket/LoginPage.java | 65 +++++++++----------------------- 1 files changed, 19 insertions(+), 46 deletions(-) diff --git a/src/com/gitblit/wicket/LoginPage.java b/src/com/gitblit/wicket/LoginPage.java index e27adc3..63cb18f 100644 --- a/src/com/gitblit/wicket/LoginPage.java +++ b/src/com/gitblit/wicket/LoginPage.java @@ -1,24 +1,20 @@ package com.gitblit.wicket; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; - import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.PasswordTextField; +import org.apache.wicket.markup.html.form.StatelessForm; import org.apache.wicket.markup.html.form.TextField; -import org.apache.wicket.markup.html.image.ContextImage; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; -import org.apache.wicket.protocol.http.WebRequest; -import org.apache.wicket.protocol.http.WebResponse; -import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import com.gitblit.Constants; import com.gitblit.GitBlit; +import com.gitblit.Keys; +import com.gitblit.wicket.models.UserModel; public class LoginPage extends WebPage { @@ -28,10 +24,7 @@ public LoginPage(PageParameters params) { super(params); - tryAutomaticLogin(); - - add(new Label("title", getServerName())); - add(new ContextImage("logo", "gitblt2.png")); + add(new Label("title", GitBlit.self().settings().getString(Keys.web.siteName, Constants.NAME))); add(new Label("name", Constants.NAME)); Form<Void> loginForm = new LoginForm("loginForm"); @@ -40,62 +33,42 @@ loginForm.add(new FeedbackPanel("feedback")); add(loginForm); } - - protected String getServerName() { - ServletWebRequest servletWebRequest = (ServletWebRequest) getRequest(); - HttpServletRequest req = servletWebRequest.getHttpServletRequest(); - return req.getServerName(); - } - class LoginForm extends Form<Void> { + class LoginForm extends StatelessForm<Void> { private static final long serialVersionUID = 1L; public LoginForm(String id) { super(id); + + // If we are already logged in because user directly accessed + // the login url, redirect to the home page + if (GitBlitWebSession.get().isLoggedIn()) { + setRedirect(true); + setResponsePage(getApplication().getHomePage()); + } } @Override public void onSubmit() { String username = LoginPage.this.username.getObject(); - char [] password = LoginPage.this.password.getObject().toCharArray(); + char[] password = LoginPage.this.password.getObject().toCharArray(); - User user = GitBlit.self().authenticate(username, password); + UserModel user = GitBlit.self().authenticate(username, password); if (user == null) error("Invalid username or password!"); else loginUser(user); } } - - private void tryAutomaticLogin() { - User user = null; - - // Grab cookie from Browser Session - Cookie[] cookies = ((WebRequest) getRequestCycle().getRequest()).getCookies(); - if (cookies != null && cookies.length > 0) { - user = GitBlit.self().authenticate(cookies); - } - - // Login the user - loginUser(user); - } - - private void loginUser(User user) { + + private void loginUser(UserModel user) { if (user != null) { - GitBlitWebSession session = GitBlitWebSession.get(); + // Set the user into the session + GitBlitWebSession.get().setUser(user); - // Set Cookie - WebResponse response = (WebResponse) getRequestCycle().getResponse(); - GitBlit.self().setCookie(response, user); - - // track user object so that we do not have to continue - // re-authenticating on each request. - session.setUser(user); - - // Redirect to original page OR to first available tab if (!continueToOriginalDestination()) { // Redirect to home page - setResponsePage(session.getApplication().getHomePage()); + setResponsePage(getApplication().getHomePage()); } } } -- Gitblit v1.9.1