根據RESTful的相關風格規範, 咱們將請求映射爲如下幾種操做數據庫
GET /users/ -----> `list.users` GET /users/:id/ -----> `retrieve.users` POST /users/ -----> `create.users` PUT /users/:id/password/ -----> `replace.users` PATCH /users/:id/ -----> `update.users` DELETE /users/:id/ -----> `destroy.users`
若是後端以MVC模式進行開發, 那麼咱們能夠映射以下控制器後端
`list.users` -----> list(users) `retrieve.users` -----> retrieve(user,id) `create.users` -----> create(users) `replace.users` -----> replace(users,id,field) `update.users` -----> update(users,id) `destroy.users` -----> destroy(users,id)
權限的管理採用傳統的RBAC模式bash
身份驗證,返回具體user或者anonymous,接下來咱們把這一步返回的user都做爲正常usercode
驗證請求權限,即上述驗證請求權限映射中間件
驗證資源存在性與所屬權, 這裏存在爭議.資源
若是放到控制器以前, 那麼可能會出現格外數據庫查詢,同時會增長代碼上的複雜性, 可是能夠把全部鑑權過程放到一塊兒.開發
若是放到控制器中,鑑權過程分開了,因爲不一樣的資源可能有不一樣的所屬權判斷標準,這樣能夠增長靈活性.權限控制
資源存在性與所屬權放到控制器裏仍是做爲中間件放到控制器以前?class
請求權限映射有哪些須要改進的地方?date
可否將整個認證鑑權流程規範化?