Esempio n. 1
0
    def post(self):
        auth_log.info("Authenticate2Handler.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["accID", "password"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            auth_log.error("Authenticate protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        acc_id = req_json["accID"]
        password = req_json["password"]

        if True != dao.authenticate2(acc_id, password):
            auth_log.error("Authenticate failed! Paras: %s", json_msg_str)
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_AUTHENTICATE_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_AUTH_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Esempio n. 2
0
    def post(self):
        auth_log.info("Authenticate2Handler.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["accID", "password"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            auth_log.error("Authenticate protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        acc_id = req_json["accID"]
        password = req_json["password"]

        if True != dao.authenticate2(acc_id, password):
            auth_log.error("Authenticate failed! Paras: %s", json_msg_str)
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_AUTHENTICATE_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_AUTH_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Esempio n. 3
0
File: db.py Progetto: fanux/forward
    def authenticate2(self, acc_id, password):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "select * from fd_t_account where acc_id = %s and password = %s"
            paras = (acc_id, password)

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                auth_log.error("Authenticate failed, invalid account!")
                return False
            return True
        except MySQLdb.Error, e:
            auth_log.error("Authenticate failed! sql: %s, paras: %s, exception: %s", sql, paras, e)
            return False
Esempio n. 4
0
File: db.py Progetto: fanux/forward
    def authenticate(self, auth_mode, acc_type, account, email, phone, password, open_id):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            if FD_AUTH_MODE_QQ == auth_mode or FD_AUTH_MODE_WECHAT == auth_mode or FD_AUTH_MODE_WEIBO == auth_mode or FD_AUTH_MODE_ALIPAY == auth_mode:
                sql = "select acc_id from fd_t_account where auth_mode = %s and acc_type = %s and open_id = %s"
                paras = (auth_mode, acc_type, open_id)
            elif FD_AUTH_MODE_ACCOUNT == auth_mode:
                sql = "select acc_id from fd_t_account where acc_type = %s and account = %s and password = %s"
                paras = (acc_type, account, password)
            elif FD_AUTH_MODE_PHONE == auth_mode:
                sql = "select acc_id from fd_t_account where acc_type = %s and phone_no = %s and password = %s"
                paras = (acc_type, phone, password)
            elif FD_AUTH_MODE_EMAIL == auth_mode:
                sql = "select acc_id from fd_t_account where acc_type = %s and email = %s and password = %s"
                paras = (acc_type, email, password)
            else:
                auth_log.error("Authenticate failed, invalid authenticate mode!")
                return None

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                auth_log.error("Authenticate failed, invalid account!")
                return -1

            row = cursor.fetchone()
            acc_id = row["acc_id"]
            return acc_id

        except MySQLdb.Error, e:
            auth_log.error("Authenticate failed! sql: %s, paras: %s, exception: %s", sql, paras, e)
            return None
Esempio n. 5
0
File: db.py Progetto: fanux/forward
class DBManage(object):
    _pool = PooledDB(creator=MySQLdb, mincached=1, maxcached=100, host=CONFIG.MYSQL.HOST, port=CONFIG.MYSQL.PORT,
                        user=CONFIG.MYSQL.USER, passwd=CONFIG.MYSQL.PASSWD, db=CONFIG.MYSQL.DATABASE,
                        use_unicode=False, charset="utf8", cursorclass=DictCursor)

    def __init__(self):
        pass

    def authenticate(self, auth_mode, acc_type, account, email, phone, password, open_id):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            if FD_AUTH_MODE_QQ == auth_mode or FD_AUTH_MODE_WECHAT == auth_mode or FD_AUTH_MODE_WEIBO == auth_mode or FD_AUTH_MODE_ALIPAY == auth_mode:
                sql = "select acc_id from fd_t_account where auth_mode = %s and acc_type = %s and open_id = %s"
                paras = (auth_mode, acc_type, open_id)
            elif FD_AUTH_MODE_ACCOUNT == auth_mode:
                sql = "select acc_id from fd_t_account where acc_type = %s and account = %s and password = %s"
                paras = (acc_type, account, password)
            elif FD_AUTH_MODE_PHONE == auth_mode:
                sql = "select acc_id from fd_t_account where acc_type = %s and phone_no = %s and password = %s"
                paras = (acc_type, phone, password)
            elif FD_AUTH_MODE_EMAIL == auth_mode:
                sql = "select acc_id from fd_t_account where acc_type = %s and email = %s and password = %s"
                paras = (acc_type, email, password)
            else:
                auth_log.error("Authenticate failed, invalid authenticate mode!")
                return None

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                auth_log.error("Authenticate failed, invalid account!")
                return -1

            row = cursor.fetchone()
            acc_id = row["acc_id"]
            return acc_id

        except MySQLdb.Error, e:
            auth_log.error("Authenticate failed! sql: %s, paras: %s, exception: %s", sql, paras, e)
            return None
        except Exception, e:
            auth_log.error("Authenticate failed! Exception: %s", e)
            return None
Esempio n. 6
0
    def post(self):
        auth_log.info("AuthenticateHandler.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["mode", "type"]
        optional_args = ["account", "email", "phone", "password", "openID"]
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            auth_log.error("Authenticate protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        auth_mode = int(req_json["mode"])
        acc_type = int(req_json["type"])
        account = req_json["account"]
        email = req_json["email"]
        phone = req_json["phone"]
        password = req_json["password"]
        open_id = req_json["openID"]

        acc_id = dao.authenticate(auth_mode, acc_type, account, email, phone,
                                  password, open_id)
        if acc_id is None:
            auth_log.error("Authenticate failed! Paras: %s", json_msg_str)
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_AUTHENTICATE_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        if acc_id < 0:
            auth_log.error("Account is not existed! Paras: %s", json_msg_str)
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_ACCOUNT_UNEXISTED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_AUTH_NOERR
        rep_json["accID"] = acc_id
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Esempio n. 7
0
    def post(self):
        auth_log.info("AuthenticateHandler.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["mode", "type"]
        optional_args = ["account", "email", "phone", "password", "openID"]
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            auth_log.error("Authenticate protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        auth_mode = int(req_json["mode"])
        acc_type = int(req_json["type"])
        account = req_json["account"]
        email = req_json["email"]
        phone = req_json["phone"]
        password = req_json["password"]
        open_id = req_json["openID"]

        acc_id = dao.authenticate(auth_mode, acc_type, account, email, phone, password, open_id)
        if acc_id is None:
            auth_log.error("Authenticate failed! Paras: %s", json_msg_str)
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_AUTHENTICATE_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        if acc_id < 0:
            auth_log.error("Account is not existed! Paras: %s", json_msg_str)
            rep_json = {}
            rep_json["err"] = FD_ERR_AUTH_ACCOUNT_UNEXISTED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_AUTH_NOERR
        rep_json["accID"] = acc_id
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Esempio n. 8
0
File: db.py Progetto: fanux/forward
            return None
        except Exception, e:
            auth_log.error("Authenticate failed! Exception: %s", e)
            return None
        finally:
            cursor.close()
            conn.close()

    def authenticate2(self, acc_id, password):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "select * from fd_t_account where acc_id = %s and password = %s"
            paras = (acc_id, password)

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                auth_log.error("Authenticate failed, invalid account!")
                return False
            return True
        except MySQLdb.Error, e:
            auth_log.error("Authenticate failed! sql: %s, paras: %s, exception: %s", sql, paras, e)
            return False
        except Exception, e:
            auth_log.error("Authenticate failed! Exception: %s", e)
            return False
        finally:
            cursor.close()
            conn.close()