def modify_password(self): """ 个人中心 - 修改密码 :return: """ _not_null_flag = False try: while not _not_null_flag: _new_password = input("输入新密码: ").strip() _confirm_password = input("再次输入确认密码:").strip() if not _new_password or not _confirm_password: my_Common.show_message("密码不能为空,请重新输入!", "ERROR") continue if _new_password != _confirm_password: my_Common.show_message("两次输入密码不一致,请重新输入!", "NOTICE") continue _not_null_flag = True self.password = _new_password _password = my_Common.encrypt(self.password) self.dict_user[self.username]["password"] = _password self.update_user() my_Common.show_message("密码修改成功!", "INFORMATIOM") return True except Exception as e: my_Common.write_error_log(e) return False
def _user_login(self, password, code): """ 用户登录验证模块,对用户对象进行判断,登录成功后返回一个新的用户对象 :return: """ # 对输入的密码加密 _password = my_Common.encrypt(password) for user, details in self.dict_user.items(): # 找到用户名 if user == self.username and not details["isdel"]: # 是否被锁定 if details["islocked"] == 0: # 账户未锁定,验证密码 if details["password"] == _password and code == self.code: # 对用户对象进行赋值 self.islogin = True # self.bindcard = details["bindcard"] self.name = details["name"] self.mobile = details["mobile"] self.role = details["role"] self.isdel = details["isdel"] self.islocked = details["islocked"] self.password = password break else: # 密码错误,失败1次 self.trycount += 1 else: # 账户锁定了 self.islocked = 1
def init_db_users(self): _db_file = os.path.join(my_conf.DATABASE['dbpath'], 'users.db') for k, v in self._user_dic.items(): temppasswd = self._user_dic[k]['password'] encryptpasswd = my_Common.encrypt(temppasswd) self._user_dic[k]['password'] = encryptpasswd my_jsonhelper.write_db_simplejson(self._user_dic, _db_file) print("Table create successfull".format(_db_file))
def create_user(self): """ 新创建一个用户,将用户数据同步写入到数据库文件 :return: """ self.dict_user[self.username] = dict(password=my_Common.encrypt(self.password), name=self.name, mobile=self.mobile, # bindcard=self.bindcard, role=self.role, islocked=0, isdel=0, ) my_jsonhelper.write_db_simplejson(self.dict_user, self.__database)