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

📄 cookiescheck.java

📁 天乙代码src_531.rar 天乙代码src_531.rar 天乙代码src_531.rar 天乙代码src_531.rar
💻 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 + -