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

📄 loginaction.java

📁 BBS-CS(天乙社区) v5.2.2源码版
💻 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));
      return actionMapping.findForward("forwards");
    }
    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");
      }
      //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);
      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));
      return actionMapping.findForward("forwards");
    }
    //return actionMapping.findForward("error");
  }
}

⌨️ 快捷键说明

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