2011-12-14 34 views
9

將訪問控制添加到Flask藍圖中的常用方法是什麼?需要在Flask中登錄某些藍圖?

比如我有一個名爲admin藍圖與url_prefix='/admin'

如何強制/admin下的所有意見必須先驗證超級用戶?

回答

8

發現http://flask.pocoo.org/snippets/59/

from flask import Blueprint 
from flask import redirect, request 
from google.appengine.api import users 

bp = Blueprint('admin', __name__) 

@bp.before_request 
def restrict_bp_to_admins(): 
    if not users.is_current_user_admin(): 
     return redirect(users.create_login_url(request.url)) 
+0

如果我不希望我的藍圖,明確依賴認證模塊?我只想要`app.register_blueprint`部分依賴auth,這樣我就可以實例化具有多個身份驗證後端的同一個藍圖? – 2018-02-28 15:52:56