簡體   English   中英

從會話或數據庫中讀取用戶權限

[英]read user permission from session or database

在我的數據庫中,用戶具有角色,每個角色都有權限。 權限有兩個字段:權限組(例如用戶,帖子,評論)和權限操作(按位添加01,刪除02,編輯04,批准08)。

例如,要添加和批准帖子:

permission[POST_PERMISSION_GROUP]= 01 | 08 ;

我想將其存儲到用戶會話中。 但是,一旦管理員更改了用戶的權限,則應更新該用戶的會話。 現在,我是否應該將這些權限緩存在會話中,或者更好地直接從數據庫中讀取它們,這使我陷入了困境。 每次用戶訪問每個頁面時,都必須檢查幾個權限。

如果您分享經驗,那將是很棒的。

使用權限可以完成兩件事:

  • 檢查某用戶是否有權限。
  • 設置某個用戶是否具有權限。

為此,您需要兩個功能:

  • check_permission($user, $permission)
  • set_permission($user, $permission, $allowed)

這些功能的第一個實現應操縱權限的權威源(即可能是數據庫)。

如果您沒有遇到性能問題,請這樣處理。 如果您已經確認,檢查和設置錯誤會花費太長時間,然后進行優化,而不是更早。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM