我正在用兩種類型的用戶構建一個API;管理員和客人。我創建了一箇中間件用來檢查是否允許用戶訪問某些API終點,我把它像這樣:檢查用戶是否只更改他的數據
app.all('/api/*', [require('./validateReq')]);
我所有的路線是這樣的:
/api/*
/api/admin/*
validateReq
檢查令牌通過並且是有效的。如果有效,通常會處理請求。
我的用戶模型具有布爾值admin
,它與標記結合驗證其他/api/admin
路由。
我現在的問題是如何確保用戶只修改他的數據。一個例子是如果他正在更新他的個人資料。什麼可以防止其他用戶修改其他用戶的個人資料?我的保護僅適用於允許登錄用戶訪問/api
路由和管理用戶訪問/api/admin
路由。
我需要像「currentUser」字段,我可以從任何地方訪問,並檢查它在我所有的路線。