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

📄 passlogin.java

📁 天乙社区6.0是一套基于JAVA技术的网络虚拟社区
💻 JAVA
字号:
package com.laoer.bbscs.web.action;

import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import com.laoer.bbscs.web.form.LoginForm;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionError;
import com.laoer.bbscs.bean.UserInfo;
import com.laoer.bbscs.sys.Constant;
import com.laoer.bbscs.sys.SysUtil;
import com.laoer.comm.util.Util;
import com.laoer.bbscs.bean.BlackUser;
import com.laoer.bbscs.bean.UserOnline;
import com.laoer.bbscs.web.servlet.UserCheck;
import com.laoer.bbscs.sys.*;
import com.laoer.bbscs.bean.UserDetail;

public class PassLogin
    extends TopBaseAction {

  public ActionForward execute(ActionMapping actionMapping,
                               ActionForm actionForm,
                               HttpServletRequest servletRequest,
                               HttpServletResponse servletResponse) {
    ActionErrors errors = new ActionErrors();
    LoginForm form = (LoginForm) actionForm;

    if (form.getAction().equals("in")) {
      servletRequest.setAttribute("loginForm", form);
      return actionMapping.findForward("passlogin");
    }

    if (form.getAction().equals("passlogin")) {
      if (SysUtil.isNotAllowIP(servletRequest.getRemoteAddr())) {
        errors.add("error.login.notallowip",
                   new ActionError("error.login.notallowip",
                                   servletRequest.getRemoteAddr()));
        saveErrors(servletRequest, errors);
        return actionMapping.findForward("login");
      }

      UserCheck uc = new UserCheck(servletRequest, servletResponse);

      /*
             if (!uc.getAuthCode().equals(form.getAuthcode())) {
        errors.add("error.login.authcode",
                   new ActionError("error.login.authcode"));
        saveErrors(servletRequest, errors);
        return actionMapping.findForward("login");
             }*/

      if (uc.isLoginPass()) {

        UserInfo ui = getUserInfoService().findUserInfoByUserName(uc.
            getPusername());
        if (ui == null) {

          ui = new UserInfo();
          ui.setAnswer("");
          ui.setArticleNum(0);
          ui.setBoard( (short) 0);
          ui.setBoardMaster( (short) 0);
          ui.setBoardSave("");
          ui.setBulletin( (short) 0);
          ui.setCanInBoards("");
          ui.setEmail(uc.getPusername() + "@");
          ui.setExp(0);
          ui.setExpression(0);
          ui.setForumPerNum( (short) 20);
          ui.setFriend("");
          ui.setHavePic( (short) 0);
          ui.setHpower( (short) 0);
          ui.setLastLoginTime(SysUtil.getLongTime());
          ui.setLoginTime(SysUtil.getLongTime());
          ui.setLoginTimes(0);
          ui.setLogoutTime(SysUtil.getLongTime() - 24 * 3600 * 1000);
          ui.setManager( (short) 0);
          ui.setNickname(uc.getPusername());
          ui.setPasswd(uc.getPusername());
          ui.setPicFileName("");
          ui.setPost( (short) 0);
          ui.setPostPerNum( (short) 10);
          ui.setPower( (short) 10);
          ui.setQuestion("");
          ui.setRegTime(SysUtil.getLongTime());
          ui.setRepasswd(Util.hash(uc.getPusername()));
          ui.setSignDetail1("");
          ui.setSignDetail2("");
          ui.setSignDetail3("");
          ui.setSignName1("");
          ui.setSignName2("");
          ui.setSignName3("");
          ui.setStayTime(0);
          ui.setStyle(0);
          ui.setSuperAdmin( (short) 0);
          ui.setTimeZone("GMT+08:00");
          ui.setUserAdmin( (short) 0);
          ui.setUserFrom("");
          ui.setUsername(uc.getPusername());
          Result r = this.getUserInfoService().regUser(ui);
          if (r.isRight()) {
            ui = (UserInfo) r.getObject();
            UserDetail ud = new UserDetail();
            ud.setBrief("");
            ud.setIcqNo("");
            ud.setOicqNo("");
            ud.setMsn("");
            ud.setYahoo("");
            ud.setUserID(ui.getId().longValue());
            this.getUserDetailService().saveUserDetail(ud);
            this.getUserInfoService().createUserFileInPost(ui);
            SysStat.getInstance().setAllUserNum(this.getUserInfoService().
                                                getAllUserNum(),
                                                uc.getPusername());

          }
          else {
            errors.add("error.reg.createrror",
                       new ActionError("error.reg.createrror"));
            saveErrors(servletRequest, errors);
            return actionMapping.findForward("passlogin");
          }
        }

        ui = getUserInfoService().userAtLongin(ui);
        uc.addCookies(ui);
        getUserCache().putUserInfoInCache(ui);

        if (! (uc.isSuperAdmin() || uc.isUserAdmin())) {
          BlackUser bu = getBlackUserService().findBlackUserByUserName(uc.
              getUsername(), (short) 1, 0, 0);
          if (bu != null) {
            errors.add("error.login.notlogin",
                       new ActionError("error.login.notlogin1"));
            saveErrors(servletRequest, errors);
            return actionMapping.findForward("error");
          }
        }

        UserOnline uo = new UserOnline();
        uo.setAtPlace(Constant.MESSAGE.getMessage(servletRequest.getLocale(),
                                                  "place.main"));
        uo.setBoardsID(0);
        uo.setIsGuest( (short) 0);
        uo.setNickName(ui.getNickname());
        uo.setOnlineTime(SysUtil.getLongTime());
        uo.setUserID(ui.getId().longValue());
        uo.setUserName(ui.getUsername());
        getUserOnlineService().saveUserOnline(uo);
        if (Util.nullOrBlank(form.getTourl())) {
          ActionForward f = new ActionForward("/main" + Constant.FILEPREFIX, true);
          return f;
        }
        else {
          ActionForward f = new ActionForward("/main" + Constant.FILEPREFIX +
                                              "?tourl=" + form.getTourl(), true);
          return f;
        }

      }
      else {
        //ActionForward f = new ActionForward(SysInfo.getInstance().getPassregurl(), true);
        //return f;
        return actionMapping.findForward("passlogin");
      }
    }
    return actionMapping.findForward("passlogin");

  }

}

⌨️ 快捷键说明

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