假设我已经使用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()