Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
 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()
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 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:管理员密码已设置,请不要重复设置')
Ejemplo n.º 6
0
 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')
Ejemplo n.º 7
0
    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')