如何使用BasicAuth保护自定义终结点?

假设我已经使用BasicAuth对资源启用了身份验证:

class MyBasicAuth(BasicAuth):
    def check_auth(self,username,password,allowed_roles,resource,method):
        return username == 'secretusername' and password == 'secretpass'

我还具有用于从HTML视图管理文档的自定义路由.如何使用相同的MyBasicAuth保护所有自定义路由?我还需要实现使用上述MyBasicAuth进行身份验证的逻辑.
请帮我解决一下这个.它仅供个人使用,因此我更喜欢对用户名和密码进行硬编码.

最佳答案

您可以利用Eve本身内部使用的require_auth装饰器.这样,您的auth类也将用于保护您的自定义路由:

from eve import Eve
from eve.auth import requires_auth

app = Eve()

@app.route('/hello')
@requires_auth('resource')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()