📄 loginaction.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 + -