📄 loginaction.java
字号:
package com.yhcms.manage.admin.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.yhcms.db.DBConnException;
import com.yhcms.manage.admin.bean.AdminUser;
import com.yhcms.manage.admin.biz.UserPowerIm;
import com.yhcms.manage.admin.dao.UserDaoIm;
import com.yhcms.manage.admin.form.LoginForm;
import com.yhcms.manage.admin.itface.UserDao;
import com.yhcms.manage.admin.itface.UserPower;
import com.yhcms.utils.DateUtils;
/**
* <p>Title:系统后台登录Action</p>
* <li>后台登录</li>
* <br><b>CopyRight: yyhweb[由由华网]</b>
* @author stephen
* @version YH-2.0
*/
public class LoginAction extends Action{
public ActionForward execute(ActionMapping actionmapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response){
Logger yhlog = Logger.getLogger(LoginAction.class.getName());
ActionMessages errors = new ActionMessages();
HttpSession session = request.getSession();
int isId = 0;
LoginForm loginform = (LoginForm)form;
String name = loginform.getUsername();
String password = loginform.getPassword();
String curTime = DateUtils.getCurFormatDate("yyyy-MM-dd hh:mm:ss");
String curIp = request.getRemoteAddr();
// 验证码检验
String checkNum = loginform.getChecknum();
String randNum = (String) session.getAttribute("rand");
// 从session中删除rand
session.removeAttribute("rand");
if(checkNum==null || randNum ==null || (!checkNum.equals(randNum))){
yhlog.info("There is a user:'"+name+"' login system,but the checknum is wrong.The ip is:"+curIp+".");
errors.add("login.user.checkNum",new ActionMessage("login.user.checkNum"));
saveErrors(session,errors);
return actionmapping.findForward("Failure");
}
AdminUser curUser = new AdminUser();
AdminUser yhcmsUser = null;
curUser.setUsername(name);
curUser.setPassword(password);
UserDao userdao = UserDaoIm.getInstance();
UserPower power = UserPowerIm.getInstance();
try {
// 判断此用户是否存在
isId = userdao.isAdminUser(curUser,0);
if(isId > 0){
// 获取用户信息
yhcmsUser = userdao.getUserById(isId);
// 更新用户信息
curUser.setId(isId);
curUser.setLastip(request.getRemoteAddr());
curUser.setLasttime(curTime);
userdao.loginUser(curUser);
power.setUserPower(request,yhcmsUser.getGroupid());// 调用UserPower取得用户对应某组的权限
yhlog.info("Admin user:'"+name+"' successfully login system,the ip is:"+curIp+".");
session.setAttribute("yhcmsuser",yhcmsUser);
return actionmapping.findForward("Success");
}else{ //用户不存在
yhlog.info("There is a user:'"+name+"' unsuccessfully login system,the ip is:"+curIp+".");
errors.add("login.user.notexist",new ActionMessage("login.user.notexist"));
saveErrors(session,errors);
return actionmapping.findForward("Failure");
}
} catch (DBConnException e) {
yhlog.warn("There is a user login system,throw an Exception!");
errors.add("login.error",new ActionMessage("login.error"));
saveErrors(session,errors);
return actionmapping.findForward("Failure");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -