[英]flask restful api dynamic endpoints with restrictions
所以我對 flask 比較陌生,只有幾個星期。 為了進一步了解 flask,我為自己設定了一個目標,即構建自己的 api。
API 的用例:
經過身份驗證的用戶應該能夠訪問端點
www.mydomain.com/api/並進行以下活動(僅限他們的
任務)
未經身份驗證的用戶應該能夠 go 到www.mydomain.com/api/john並查看 John 的指標。 我希望有很多用戶都有自己的指標
當前 state:
我可以執行、發布、獲取、放置和刪除操作(尚未設置身份驗證...)
我的問題:
有沒有辦法根據用戶 ID 限制用戶。 我的意思是 john 只能訪問對www.mydomain.com/api/john執行請求。
有幾種方法可以處理這個問題,這一切都取決於您的要求。
您可以構建自己的(這通常是我所做的),或者您可以使用Flask-User
支持的基於角色的授權。
您可以在 此處閱讀有關其工作原理的更多信息。
確保查看他們的示例應用程序以了解如何將它們組合在一起。
如果您有自己的自定義權限,這將基於用戶 ID。 然后您可以遵循相同的概念,但根據用戶 ID 與角色進行處理。 甚至可能將權限級別存儲在用戶 object(is_admin、is_general_user 等)中,例如這樣的(偽代碼):
class User:
is_admin = false
is_read_only = false
def __init__(**kwargs):
# handle kwargs to set permissions
然后您可以在某些繼承的基礎工廠或其他東西(偽代碼)中定義用戶后訪問您的User
變量:
u = User(**my_permissions)
if(u.is_admin):
# do something
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.