为什么find_one会返回我的案例中的所有文件?

时间:2016-08-06 15:35:36

标签: python eve

我尝试使用BCryptAuth来保护资源以及登录系统。 我试图根据用户在登录页面输入的电子邮件来获取一个文档。

class BCryptAuth(BasicAuth):
def check_auth(self, email, password, allowed_roles, resource, method):
    account = app.data.driver.db['users'].find_one({'email': email})
    return account and \
            bcrypt.hashpw(password.encode('utf-8'),account['salt'].encode('utf-8')) == account['password']

但是当我尝试通过邮递员访问用户端点时,它实际上是验证但返回所有文档。我有点困惑。如果我的方法有误,请给我一个。

1 个答案:

答案 0 :(得分:0)

您提到的Auth类只允许或不允许访问API。它对资源过滤没有任何作用。

如果您在获取users时需要资源过滤,则可以创建事件挂钩并制作pre-GET动态过滤器。检查documentation,它应该有所帮助。