Flask-HTTPAuth verify_password

Я застрял на пароле проверки флешки-httpauth.

У меня есть скрипт имени пользователя и пароля, который хэширует пароль и помещает его в простой файл. (Да, не самый безопасный, но LDAP/LOGIN не работает должным образом с Flask(Sandman.io), используя мой уровень знаний. Я хотел бы поместить его в базу данных, которую Sandman читает, чтобы упростить, но все, что я пытаюсь сделать это приложение умирает в огне.).

В моей обертке у меня есть часть, которую он превращает в словарь с

users = {}
fileloc = '/usr/lib/sandman/user.list'
with open(fileloc) as i:
     for line in i:
          (key, val) = line.split()
          users[key] = val 

Это дает мне словарь для аутентификации. Это сработало бы, если бы в словаре не было хэшированных паролей, поэтому у меня осталась проблема - заставить его работать на этом уровне.

То, что у меня есть ниже, не работает, но я использовал пример в качестве тестового примера, и я могу войти в систему практически с любым именем пользователя и паролем (офигенно, правда?...)

@auth.verify_password
def verify_password(username, password):
    users = User.query.filter_by(username).first()
    if not users:
        return False
    return passlib.hash.sha256_crypt.verify(password, users.password_hash)

Любая помощь по этому вопросу будет принята с благодарностью. Благодарю.

1 ответ

Вам нужно будет пометить страницы, где пользователь должен войти в систему с

@auth.login_required

чтобы увидеть, успешен ли вход в систему (вы получите ошибку отказа в доступе, если это не так). Я не могу думать ни о какой другой причине, по которой у вас получилось бы слишком много комбинаций имени пользователя и пароля, а не слишком мало.

Другие вопросы по тегам