📄 cookiescheck.java
字号:
package com.laoer.bbscs.servlet;
import javax.servlet.http.*;
import sun.misc.*;
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.*;
/**
* <p>Title: 天乙社区V5.0</p>
* <p>Description: BBS-CS天乙社区V5.0</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: laoer.com</p>
* @author 龚天乙
* @version 5.0
*/
public class CookiesCheck {
String username = "";
String passwd = "";
HttpServletRequest request;
HttpServletResponse response;
public CookiesCheck() {
}
public CookiesCheck(HttpServletRequest request, HttpServletResponse response) {
this.request = request;
this.response = response;
this.getCookies(request, response);
}
public CookiesCheck(HttpServletRequest request, HttpServletResponse response,
String username, String passwd) {
this.request = request;
this.response = response;
this.username = username;
this.passwd = passwd;
}
public void getCookies(HttpServletRequest request,
HttpServletResponse response) {
Cookie cookies[] = request.getCookies();
Cookie sCookie = null;
byte[] buf;
try {
for (int i = 0; i < cookies.length; i++) {
sCookie = cookies[i];
if (sCookie.getName().equals("BBSCS_USERNAME")) {
buf = new sun.misc.BASE64Decoder().decodeBuffer(sCookie.getValue());
this.username = new String(buf);
}
if (sCookie.getName().equals("BBSCS_PASSWD")) {
buf = new sun.misc.BASE64Decoder().decodeBuffer(sCookie.getValue());
this.passwd = new String(buf);
}
}
}
catch (Exception e) {
}
}
public void addCookies(int time) {
try {
String u = new sun.misc.BASE64Encoder().encode(this.username.getBytes());
Cookie ucookies = new Cookie("BBSCS_USERNAME", u);
ucookies.setPath("/");
ucookies.setMaxAge(time);
this.response.addCookie(ucookies);
String p = new sun.misc.BASE64Encoder().encode(this.passwd.getBytes());
Cookie pcookies = new Cookie("BBSCS_PASSWD", p);
pcookies.setPath("/");
pcookies.setMaxAge(time);
this.response.addCookie(pcookies);
}
catch (Exception e) {
}
}
public String getSid() {
String sid = "";
if (this.username != null && this.username.length() > 0 && this.passwd != null &&
this.passwd.length() > 0) {
UserInfo myUserInfo = new UserInfo();
MD5 myMD5 = new MD5();
myUserInfo.setUserName(this.username);
myUserInfo.setRePasswd(myMD5.getMD5ofStr(this.passwd));
User myUser = UserFactory.getInstance();
myUser.setUserInfo(myUserInfo);
int result = myUser.getUser(null, "Passwd", true);
if (result != Sys.RESULT_RIGHT) {
return null;
}
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) {
return null;
}
//logger.info("myUser.getUser:" + result);
AdminUserInfo myAdminUserInfo = new AdminUserInfo();
myAdminUserInfo.setUname(this.username);
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();
sid = MyCrypt.genPassword(this.username) + "_" +
myUser.getUserInfo().getID();
UserSession myUserSession = ServerSession.getNewSession(sid, this.request);
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);
}
else {
this.username = "GUEST";
this.passwd = "";
UserInfo myUserInfo = new UserInfo();
myUserInfo.setID(Util.getaLongTime());
myUserInfo.setUserName(this.username);
myUserInfo.setNickName("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();
sid = MyCrypt.genPassword(this.username) + "_" +
myUser.getUserInfo().getID();
UserSession myUserSession = ServerSession.getNewSession(sid, this.request);
myUserSession.setAttribute("user", myUser);
myUserSession.setAttribute("adminUser", myAdminUserInfo);
myUserSession.setAttribute("logintime", "");
ServerSession.upSession(myUserSession);
}
return sid;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -