我尝试使用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']
但是当我尝试通过邮递员访问用户端点时,它实际上是验证但返回所有文档。我有点困惑。如果我的方法有误,请给我一个。
答案 0 :(得分:0)
您提到的Auth类只允许或不允许访问API。它对资源过滤没有任何作用。
如果您在获取users
时需要资源过滤,则可以创建事件挂钩并制作pre-GET动态过滤器。检查documentation,它应该有所帮助。