def login(): Session = create_session() error_num = 0 login_status = 0 while error_num < 5: error_num += 1 tips = f'{error_num:-^20}' print(tips) login_name = input('登录名:').strip() login_password_tmp = input('登陆密码:').strip() obj = Session.query(LoginMsg).filter_by(login_name=login_name).first() if not obj: error = ERROR[3] print(f'\n{error:!^40}\n') else: if obj.login_password == md5_msg(login_password_tmp): print(f'{login_name} 登录成功') login_status = 1 return obj.id, login_status else: warning = WARNING[3] print(f'\n{warning:-^60}\n') else: warning = WARNING[0] print(f'\n{warning:-^60}\n') return None, login_status
def insert_msg(self): user_type = input('账户类型:').strip() user_name = input('账户登录名:').strip() user_password = input('账户密码:').strip() # 如果输入内容有为空,及信息不完整,不予存储 tmp_msg_ls = [user_type, user_name, user_password] for i in tmp_msg_ls: if len(i) == 0: warning = WARNING[4] print(f'\n{warning:-^60}\n') return None obj_login = self.Session.query( models.LoginMsg).filter_by(login_name=self.login_name).first() obj_account = models.AccountMsg(user_type=user_type, user_name=user_name, user_password=md5_msg(user_password), login_user_id=obj_login.id) obj_password = models.PasswordCase(password=user_password) self.Session.add(obj_account) find_obj = self.Session.query( models.PasswordCase).filter_by(password=user_password).first() # 避免创建重复的内容 if not find_obj: self.Session.add(obj_password) self.Session.commit()
def modify_password(self, new_password): account_obj = self.obj account_obj.user_password = md5_msg(new_password) obj_password = models.PasswordCase(password=new_password) find_obj = self.Session.query( models.PasswordCase).filter_by(password=new_password).first() # 避免创建重复的内容 if not find_obj: self.Session.add(obj_password) self.Session.commit()
def view_password(self): password_obj_list = self.Session.query(models.PasswordCase).all() password_list = [(i.id, md5_msg(i.password)) for i in password_obj_list] for password_tuple in password_list: if password_tuple[1] == self.obj.user_password: password_obj = self.Session.query( models.PasswordCase).filter_by( id=password_tuple[0]).first() return password_obj.password
def create_admin_account(self): obj = models.LoginMsg(login_name=self.login_name, login_password=md5_msg(self.login_password)) find_obj = self.Session.query( models.LoginMsg).filter_by(login_name=self.login_name).first() # 避免创建重复的管理员账户 if not find_obj: self.Session.add(obj) self.Session.commit() else: print('WARNING:管理员密码已设置,请不要重复设置')
def inner(*args, **kwargs): Session = create_session() obj = Session.query(LoginMsg).filter_by(login_name=name).first() _password = obj.login_password error_num = 0 while error_num < 3: error_num += 1 tips = f'{error_num:-^20}' print(tips) # password = input('请输入管理员密码:').strip() password = getpass.getpass('请输入管理员密码:') if _password == md5_msg(password): return func(*args, **kwargs) else: warning = WARNING[3] print(f'\n{warning:-^60}\n') else: warning = WARNING[0] print(f'\n{warning:-^60}\n')
def wrapper(*args, **kwargs): error_num = 0 while error_num < 5: error_num += 1 tips = f'{error_num:-^20}' print(tips) login_name = input('登录名:').strip() login_password_tmp = input('登陆密码:').strip() obj = Session.query(LoginMsg).filter_by(login_name=login_name).first() if not obj: print('用户不存在') else: if obj.login_password == md5_msg(login_password_tmp): print(f'{login_name} 登录成功') return func(*args, **kwargs) else: warning = WARNING[3] print(f'\n{warning:-^60}\n') else: warning = WARNING[0] print(f'\n{warning:-^60}\n')