[技術討論] 問一下關於user permission 問題

本帖最後由 takayo72 於 2017-1-27 15:22 編輯

當user 成功login 進入backend admin , user permission/acl/group info 會store 係session,
定係每當有地方需要access rights 時先至從db load user permission 然後才判定能否進行相關操作

放係session 就大大減低db access, 但有個無好處係當admin 修改某user permission, 咁就反映唔到該user current session, 知道logout再login

咁响 update 完 DB 之後 re-populate 個 session 咪得囉。

TOP

當user 成功login 進入backend admin , user permission/acl/group info 會store 係session,
定係每當有地 ...
takayo72 發表於 2017-1-27 15:19


   
要寫多幾行 Code 去 Handle 唔代表係唔好處,

另外 Optimization 對 User 黎講不嬲都係做咗好似無做嘅野,所以有需要先做吧。如果你個System 一定得幾十個人以内用,不如花時間做好啲 Features 先

想做黎學下就另計

via HKEPC Ionic Reader v1.5.1 - iPhone

TOP

如果你個session 係用jwt做既話
可以將個permission infomation擺埋入個payload度咪得

當如果有人update左個permission 咪expire 哂之前既session / 轉jwt既key , 等user再login咪refresh度新既permission table

TOP

哈哈…咁就要睇你個ACL用咩data structure 喇
正確應該用Modified Preorder Tree
好處係無論access level 有幾多重,都可以用一個query囉晒

TOP

回覆 2# justlazy

session唔係admin 個session ,而係所有users 既session wor?

TOP

標準答案:  用每次直接從DB query的方法, 直至有一日發現系統複雜到 DB係樽頸

所有caching方法都只會增加複雜性,不利開發
當然,如果你呢個系統係有重用的可能,你又有時間,就考慮做埋,又或者加一個on/off機制做到隨時可以決定是否cache個ACL

TOP

相關文章