如何支持Flask-SSE访问控制

时间:2019-01-26 14:55:32

标签: python flask flask-login

Flask-SSE文档-

https://flask-sse.readthedocs.io/en/latest/advanced.html#access-control

有一个小的访问控制示例-

@sse.before_request 
def check_access():
    if request.args.get("channel") == "analytics" and not g.user.is_admin():
        abort(403)

我的用例是:我有两种类型的SSE端点,一种是公共的,例如在路由/sse/public/notice下,它不需要身份验证检查。以及路线为/sse/private/<user_id>/balance的私人路线,我必须同时检查flask_login.current_user.is_authenticated and flask_login.current_user.get_id() == user_id

从Flask-SSE的简单示例中,我不确定如何实现对这两种sse端点的支持。

任何指针将不胜感激。

1 个答案:

答案 0 :(得分:1)

我是Flask-SSE的作者。为什么不这样做呢?

B = list(map(lambda l: l[:i] + l[i + 1:], A))