/**
* Copyright (c) 2005-2011, Rory Ye
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* * Neither the name of the Jdkcn.com nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package com.jdkcn.myblog.web.page;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import com.google.inject.Inject;
import com.google.sitebricks.Show;
import com.google.sitebricks.http.Get;
import com.google.sitebricks.http.Post;
import com.jdkcn.myblog.domain.User;
import com.jdkcn.myblog.service.UserService;
import com.jdkcn.myblog.web.filter.UserLoginFilter;
/**
* @author <a href="mailto:rory.cn@gmail.com">Rory</a>
* @version $Id: Login.java 413 2011-05-04 13:36:16Z rory.cn $
*/
@Show("/WEB-INF/templates/login.html")
public class Login {
@Inject
private UserService userService;
private String username;
private String password;
private String errorMessage;
@Inject
private HttpSession session;
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Get
public void get() {
}
@Post
public String doLogin() {
if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
errorMessage = "Username and Password is required";
return "/login";
}
User user = userService.getByUsername(username);
if (user != null && user.getPassword().equals(password)) {
session.setAttribute(UserLoginFilter.CURRENT_USER, user);
return "/adm";
}
errorMessage = "bad Username or Password";
return "/login";
}
}