我已在docker-compose文件中启用RBAC作为环境变量。
- AIRFLOW__WEBSERVER__RBAC=True
我想捕获在我的dag文件中启动dag的用户。
我尝试使用from flask_login import current_user
。但是,我得到current_user
的值为None。
我可以知道如何使用RBAC捕获用户详细信息吗?
答案 0 :(得分:0)
根据Airflow文档,它是由{em> Flask AppBuilder(FAB)处理的RBAC安全模型的一部分:
Airflow使用
flask_login
并在airflow.default_login
模块。您可以更改内容并使其PYTHONPATH
的一部分,并将其配置为后端airflow.cfg
。
Flask-login模块提供用户管理操作,因此您可以在专用属性flask_login.current_user中获取当前用户,添加 如#3438拉取请求所述的一些额外字段:
if current_user and hasattr(current_user, 'user'):
user = current_user.user.username
elif current_user and hasattr(current_user, 'username'):
我想您可以使用current_user.user.username
来获取用户登录信息。