1

我被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)

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

4

1 回答 1

1

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

@auth.login_required

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

于 2014-07-30T21:01:01.420 回答