python - Flask-HTTPAuth verify_password

标签 python flask flask-httpauth

我被 Flask-httpauth 的 verify_password 困住了。

我有用户名和密码脚本,可以对密码进行哈希处理并将其放入一个简单的文件中。 (是的,不是最安全的,但使用我的知识水平,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)

对此的任何帮助将不胜感激。 谢谢。

最佳答案

您需要标记用户需要登录的页面

@auth.login_required

能够查看登录是否成功(如果不成功,您将收到拒绝访问错误)。我想不出任何其他原因可以解释为什么用户名+密码组合太多而不是太少。

关于python - Flask-HTTPAuth verify_password,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25046634/

相关文章:

Python 导入错误。循环进口

python - 大量数据点的曲线拟合

python - 在 Flask 中处理 POST JSON 错误

python - Matplotlib colorbar 移动第二个 x 轴

python - 如何压缩整个文件夹(带有子文件夹)并通过 Flask 提供它而不将任何内容保存到磁盘

python - 默认 login_required 而不是到处添加装饰器

python - 如何从 URL 获取参数到身份验证函数? (Python、 flask )

python - flask-httpauth 上的多个 verify_password 回调

python - 如何在 matplotlib 条形图中添加不同的填充颜色?

python - 如何对 unittest 测试用例进行单元测试