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

📄 passport.java

📁 cwbbs 云网论坛源码
💻 JAVA
字号:
package com.redmoon.forum.security;import java.util.*;import javax.servlet.http.*;import cn.js.fan.security.*;import cn.js.fan.util.*;import com.redmoon.forum.*;import com.redmoon.forum.person.*;import cn.js.fan.web.SkinUtil;public class Passport {    public Passport() {    }    public boolean doAction(HttpServletRequest request, HttpServletResponse response) throws ErrMsgException {        String action = ParamUtil.get(request, "action");        String auth = ParamUtil.get(request, "auth");        String forward = ParamUtil.get(request, "forward");        String verify = ParamUtil.get(request, "verify");        Config cfg = Config.getInstance();        String key = cfg.getKey();        String vstr = "";        try {            vstr = SecurityUtil.MD5(action + auth + forward + key);        }        catch (Exception e) {            e.printStackTrace();        }        if (!verify.equals(vstr)) {            throw new ErrMsgException("Verify is invalid.");        }        if (action.equals("")) {            throw new ErrMsgException("Lack of required parameters.");        }        if (action.equals("regist")) {            return regist(request, response);        }        else if (action.equals("login")) {            return login(request, response);        }        else if (action.equals("logout")) {            return logout(request, response);        }        else {            throw new ErrMsgException("Action is invalid.");        }    }    public boolean logout(HttpServletRequest request, HttpServletResponse response) throws ErrMsgException {        return Privilege.doLogout(request, response, Privilege.getUser(request));    }    public boolean regist(HttpServletRequest request, HttpServletResponse response) throws ErrMsgException {        Config cfg = Config.getInstance();        String key = cfg.getKey();        String auth = ParamUtil.get(request, "auth");        auth = ThreeDesUtil.decrypthexstr(key, auth);        String[] ary = StrUtil.split(auth, "\\|");        int len = ary.length;        Map map = new HashMap();        for (int i = 0; i < len; i++) {            String[] pair = ary[i].split("=");            if (pair.length == 2)                map.put(pair[0].toLowerCase(), pair[1]);        }        String uid = StrUtil.getNullStr((String) map.get("uid"));        String pwd = StrUtil.getNullStr((String) map.get("pwd"));        String email = StrUtil.getNullStr((String) map.get("email"));        String gender = StrUtil.getNullStr((String) map.get("gender"));        String birthday = StrUtil.getNullStr((String) map.get("birthday"));        String regip = StrUtil.getNullStr((String) map.get("regip"));         String regdate = StrUtil.getNullStr((String) map.get("regdate"));        String home = StrUtil.getNullStr((String) map.get("home"));        String qq = StrUtil.getNullStr((String) map.get("qq"));        String msn = StrUtil.getNullStr((String) map.get("msn"));        String fetion = StrUtil.getNullStr((String) map.get("fetion"));        String mobile = StrUtil.getNullStr((String) map.get("mobile"));        String nick = StrUtil.getNullStr((String) map.get("nick"));        String realname = StrUtil.getNullStr((String) map.get("realname"));        String timezone = StrUtil.getNullStr((String) map.get("timezone"));        if (timezone.equals(""))            timezone = "GMT+08:00";        if (uid.equals("")) {            throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.security.Passport", "err_uid_empty"));        }        if (nick.equals("")) {            throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.security.Passport", "err_nick_empty"));        }        String strTime = StrUtil.getNullStr((String)map.get("time"));        long time = StrUtil.toLong(strTime);        long curTime = System.currentTimeMillis();        if (Math.abs(curTime - time)/(1000*60)>30) {             throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.security.Passport", "err_invalid_time"));        }        Date rd = null;        if (regdate.equals(""))            rd = DateUtil.parse(strTime);        else            rd = DateUtil.parse(regdate, "yyyy-MM-dd HH:mm:ss");        UserDb user = new UserDb();        user = user.getUser(uid);        if (user.isLoaded()) {            throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.security.Passport", "err_uid_exist"));        }        user.setName(uid);        user.setNick(nick);        String pwdMD5 = "";        try {            pwdMD5 = SecurityUtil.MD5(pwd);        } catch (Exception e) {            e.printStackTrace();        }        user.setPwdMd5(pwdMD5);        user.setRawPwd(pwd);        user.setGender(gender);        user.setBirthday(DateUtil.parse(birthday, "yyyy-MM-dd"));        user.setMobile(mobile);        user.setEmail(email);        user.setOicq(qq);        user.setIp(regip);        user.setHome(home);        user.setMsn(msn);        user.setFetion(fetion);        user.setRegDate(rd);        user.setRealName(realname);        user.setCheckStatus(user.CHECK_STATUS_PASS);        TimeZone tz = TimeZone.getTimeZone(timezone);        user.setTimeZone(tz);        boolean re = user.create();        if (re) {            userservice us = new userservice();            us.doRegist(request, response, user);        }        return re;    }    public boolean login(HttpServletRequest request, HttpServletResponse response) throws ErrMsgException {        Config cfg = Config.getInstance();        String key = cfg.getKey();        String auth = ParamUtil.get(request, "auth");        auth = ThreeDesUtil.decrypthexstr(key, auth);        String[] ary = StrUtil.split(auth, "\\|");        int len = ary.length;        Map map = new HashMap();        for (int i = 0; i < len; i++) {            String[] pair = ary[i].split("=");            if (pair.length == 2)                map.put(pair[0].toLowerCase(), pair[1]);        }        String uid = StrUtil.getNullStr((String) map.get("uid"));        String pwd = StrUtil.getNullStr((String) map.get("pwd"));        String email = StrUtil.getNullStr((String) map.get("email"));        String gender = StrUtil.getNullStr((String) map.get("gender"));        String birthday = StrUtil.getNullStr((String) map.get("birthday"));        String regdate = StrUtil.getNullStr((String) map.get("regdate"));        String home = StrUtil.getNullStr((String) map.get("home"));        String qq = StrUtil.getNullStr((String) map.get("qq"));        String msn = StrUtil.getNullStr((String) map.get("msn"));        String fetion = StrUtil.getNullStr((String) map.get("fetion"));        String mobile = StrUtil.getNullStr((String) map.get("mobile"));        String nick = StrUtil.getNullStr((String) map.get("nick"));        String realname = StrUtil.getNullStr((String) map.get("realname"));        String timezone = StrUtil.getNullStr((String)map.get("timezone"));        if (uid.equals("")) {            throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.security.Passport", "err_uid_empty"));        }        String strTime = StrUtil.getNullStr((String)map.get("time"));        long time = StrUtil.toLong(strTime);        long curTime = System.currentTimeMillis();        if (Math.abs(curTime - time)/(1000*60)>30) {             throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.security.Passport", "err_invalid_time"));        }        UserDb user = new UserDb();        user = user.getUser(uid);        if (!user.isLoaded()) {            throw new ErrMsgException(SkinUtil.LoadString(request, "res.forum.security.Passport", "err_user_not_exist"));        }        if (!nick.equals(""))            user.setNick(nick);        if (!pwd.equals("")) {            String pwdMD5 = "";            try {                pwdMD5 = SecurityUtil.MD5(pwd);            } catch (Exception e) {                e.printStackTrace();            }            user.setPwdMd5(pwdMD5);            user.setRawPwd(pwd);        }        if (!gender.equals(""))            user.setGender(gender);        if (!birthday.equals(""))            user.setBirthday(DateUtil.parse(birthday, "yyyy-MM-dd"));        if (!mobile.equals(""))            user.setMobile(mobile);        if (!email.equals(""))            user.setEmail(email);        if (!qq.equals(""))            user.setOicq(qq);        if (!home.equals(""))            user.setHome(home);        if (!msn.equals(""))            user.setMsn(msn);        if (!fetion.equals(""))            user.setFetion(fetion);        if (!regdate.equals(""))            user.setRegDate(DateUtil.parse(regdate, "yyyy-MM-dd"));        if (!realname.equals(""))            user.setRealName(realname);        if (!timezone.equals("")) {            TimeZone tz = TimeZone.getTimeZone(timezone);            user.setTimeZone(tz);        }                Privilege pvg = new Privilege();        return pvg.doLogin(request, response, user);    }}

⌨️ 快捷键说明

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