⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginaction.java

📁 天乙代码src_531.rar 天乙代码src_531.rar 天乙代码src_531.rar 天乙代码src_531.rar
💻 JAVA
字号:
package com.laoer.bbscs.bbs.action;

import org.apache.struts.action.*;
import org.apache.struts.util.*;
import javax.servlet.http.*;
import com.laoer.bbscs.bbs.actionform.*;
import com.laoer.bbscs.bbs.business.*;
import com.laoer.bbscs.util.MD5;
import com.laoer.bbscs.sysinfo.*;
import com.laoer.bbscs.servlet.*;
import com.laoer.bbscs.util.*;
import java.util.*;
import org.apache.log4j.*;

public class LoginAction
    extends Action {
  static Logger logger = Logger.getLogger(LoginAction.class.getName());

  public ActionForward execute(ActionMapping actionMapping,
                               ActionForm actionForm,
                               HttpServletRequest httpServletRequest,
                               HttpServletResponse httpServletResponse) {
    ActionErrors errors = new ActionErrors();
    LoginActionForm form = (LoginActionForm) actionForm;
    MessageResources messages = getResources(httpServletRequest);
    Locale locale = getLocale(httpServletRequest);
    if (form.getGuest() != null && form.getGuest().length() > 0 &&
        form.getGuest().equals("1")) {
      UserInfo myUserInfo = new UserInfo();
      myUserInfo.setID(Util.getaLongTime());
      myUserInfo.setUserName(form.getUname());
      myUserInfo.setNickName(messages.getMessage(locale, "bbscs.guest"));
      myUserInfo.setIsGuest(true);
      User myUser = UserFactory.getInstance();
      myUser.setUserInfo(myUserInfo);
      AdminUserInfo myAdminUserInfo = new AdminUserInfo();

      UserOnlineInfo myUserOnlineInfo = new UserOnlineInfo();
      myUserOnlineInfo.setID(myUser.getUserInfo().getID());
      myUserOnlineInfo.setUserName("_" + myUser.getUserInfo().getID());
      myUserOnlineInfo.setNickName(myUser.getUserInfo().getNickName());
      myUserOnlineInfo.setIsGuest(1);
      UserOnline myUserOnline = UserOnlineFactory.getInstance();
      myUserOnline.setUserOnlineInfo(myUserOnlineInfo);
      myUserOnline.setOnlineUser();

      String sid = MyCrypt.genPassword(form.getUname()) + "_" +
          myUser.getUserInfo().getID();
      UserSession myUserSession = ServerSession.getNewSession(sid,
          httpServletRequest);

      myUserSession.setAttribute("user", myUser);
      myUserSession.setAttribute("adminUser", myAdminUserInfo);
      myUserSession.setAttribute("logintime", "");
      ServerSession.upSession(myUserSession);
      //httpServletRequest.setAttribute("aForwardInfo", new ForwardInfo("", "mainAction.do?sid=" + sid));
      errors = null;
      form = null;
      messages = null;
      locale = null;
      myUserInfo = null;
      myUser = null;
      myAdminUserInfo = null;
      myUserOnlineInfo = null;
      myUserOnline = null;
      //return actionMapping.findForward("forwards");
      ActionForward f = new ActionForward("mainAction.do?sid=" + sid, true);
      return f;
    }
    else {
      UserInfo myUserInfo = new UserInfo();
      MD5 myMD5 = new MD5();
      myUserInfo.setUserName(form.getUname());
      myUserInfo.setRePasswd(myMD5.getMD5ofStr(form.getPasswd()));
      User myUser = UserFactory.getInstance();
      myUser.setUserInfo(myUserInfo);
      int result = myUser.getUser(null, "Passwd", true);
      if (result != Sys.RESULT_RIGHT) {
        errors.add("error.user.msg2", new ActionError("error.user.msg2"));
        saveErrors(httpServletRequest, errors);
        return actionMapping.findForward("error");
      }
      myUserInfo = myUser.getUserInfo();
      BlackUserInfo aBlackUserInfo = new BlackUserInfo();
      aBlackUserInfo.setUserID(myUserInfo.getID());
      BlackUser aBlackUser = BlackUserFactory.getInstance();
      aBlackUser.setBlackUserInfo(aBlackUserInfo);
      if (aBlackUser.getBlackUser(null, "atSite", false) == Sys.RESULT_RIGHT) {
        errors.add("error.user.insysblackuser",
                   new ActionError("error.user.insysblackuser"));
        saveErrors(httpServletRequest, errors);
        return actionMapping.findForward("error");
      }
      //logger.info("myUser.getUser:" + result);
      AdminUserInfo myAdminUserInfo = new AdminUserInfo();
      myAdminUserInfo.setUname(form.getUname());
      AdminUser myAdminUser = AdminUserFactory.getInstance();
      myAdminUser.setAdminUserInfo(myAdminUserInfo);
      myAdminUser.getAdminUser(null, "Name");
      UserOnlineInfo myUserOnlineInfo = new UserOnlineInfo();
      myUserOnlineInfo.setID(myUser.getUserInfo().getID());
      myUserOnlineInfo.setUserName(myUser.getUserInfo().getUserName());
      myUserOnlineInfo.setNickName(myUser.getUserInfo().getNickName());
      myUserOnlineInfo.setIsGuest(0);
      UserOnline myUserOnline = UserOnlineFactory.getInstance();
      myUserOnline.setUserOnlineInfo(myUserOnlineInfo);
      myUserOnline.setOnlineUser();
      myUser.userAtLongin();
      String sid = MyCrypt.genPassword(form.getUname()) + "_" +
          myUser.getUserInfo().getID();
      UserSession myUserSession = ServerSession.getNewSession(sid,
          httpServletRequest);
      Date logintime = new Date(myUser.getUserInfo().getLogintime());
      String strlogintime = Util.fotmatDate3(logintime);

      int time = -1;
      try {
        time = Integer.parseInt(form.getCookiessave());
      }
      catch (Exception e) {
      }
      if (time == 0) {
        time = -1;
      }
      if (time == 1) {
        time = 24 * 60 * 60;
      }
      if (time == 2) {
        time = 30 * 24 * 60 * 60;
      }
      if (time == 3) {
        time = 365 * 24 * 60 * 60;
      }
      CookiesCheck cc = new CookiesCheck(httpServletRequest,
                                         httpServletResponse, form.getUname(),
                                         form.getPasswd());
      cc.addCookies(time);

      myUserSession.setAttribute("user", myUser);
      myUserSession.setAttribute("adminUser", myAdminUser.getAdminUserInfo());
      myUserSession.setAttribute("logintime", strlogintime);
      ServerSession.upSession(myUserSession);
      //httpServletRequest.setAttribute("aForwardInfo",new ForwardInfo("","mainAction.do?sid=" + sid));
      errors = null;
      form = null;
      messages = null;
      locale = null;
      myMD5 = null;
      myUserInfo = null;
      myUser = null;
      myAdminUser = null;
      myUserOnlineInfo = null;
      myUserOnline = null;
      //return actionMapping.findForward("forwards");
      ActionForward f = new ActionForward("mainAction.do?sid=" + sid, true);
      return f;
    }
    //return actionMapping.findForward("error");
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -