package com.alibaba.doris.admin.web.user.module.action;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import com.alibaba.citrus.service.form.CustomErrors;
import com.alibaba.citrus.turbine.Navigator;
import com.alibaba.citrus.turbine.dataresolver.FormField;
import com.alibaba.citrus.turbine.dataresolver.FormGroup;
import com.alibaba.doris.admin.core.AdminServiceLocator;
import com.alibaba.doris.admin.dataobject.UserDO;
import com.alibaba.doris.admin.service.UserService;
import com.alibaba.doris.admin.web.configer.util.WebConstant;
/**
* @project :Doris
* @author : len.liu
* @datetime : 2011-6-9 下午05:34:07
* @version :0.1
* @Modification:
*/
public class LoginAction {
@Autowired
private HttpSession session;
private UserService userService = AdminServiceLocator.getUserService();
public void doLogin(@FormGroup("loginForm") UserDO userDO,
@FormField(name = "nameIsNotExsitError", group = "loginForm") CustomErrors nameIsNotExsitError,
@FormField(name = "passwdError", group = "loginForm") CustomErrors passwdError,
Navigator nav) {
UserDO userDOFromDb = userService.findUserByName(userDO.getName());
// 用户不存在
if (userDOFromDb == null) {
nameIsNotExsitError.setMessage("nameIsNotExsit");
return;
}
// 用户存在但是密码不对
if (!userDOFromDb.getPassword().equals(userDO.getPassword())) {
passwdError.setMessage("passwdError");
return;
}
userDO.setLogined(true);
session.setAttribute(WebConstant.DORIS_USER_SESSION_KEY, userDO);
nav.redirectTo(WebConstant.INDEX_LINK);
}
/**
* Log out.
*
* @param context
* @param navigator
* @throws Exception
*/
public void doLogout(Navigator navigator) {
session.removeAttribute(WebConstant.DORIS_USER_SESSION_KEY);
// 跳转到登录页面
navigator.redirectTo(WebConstant.LOGIN_LINK);
}
}