(1)如何設計使用者許可權
普通的使用者許可權設計
三個表搞定(使用者表,許可權表,使用者許可權表)
(2)有什麼特點?
》1 租戶增加,選成會大量的冗餘資料!
》2 新增或者刪除許可權不方便
建議使用rbac許可權模型
(1)什麼是rbac許可權模型?
rbac 是基於角色的訪問控制(role-based access control )
(2)rbac許可權模型有什麼特點?
》1 先給角色設定許可權
》2 再給使用者分配角色
》3 最後使用者得到這些角色的許可權
》4 如果想知道乙個使用者有什麼許可權,則要反過來
(1)五表之間的關係
角色與許可權: 多對多。(產生一張角色許可權中間表)
使用者與角色:多對多。(產生一張使用者角色中間表)
mysql表結構
pd表結構
角色的本質就是乙個集合,裡面存放在著許可權的名稱。
給使用者指定角色,其實就是將許可權打包給使用者。
(1)老王有哪些許可權?
# 5張表
# 使用者表
select
*from pe_user;
# 角色表
select
*from pe_role;
# 角色使用者表(中間表) 得知 乙個使用者屬於哪個角色
select
*from pe_role_user;
# 許可權表(功能表,模組表)
select
*from ss_module;
# 角色許可權表(中間表) 得知 乙個角色有哪些許可權
select
*from pe_role_module;
select
*from pe_user u,pe_role_user ru,pe_role r ;
## 隱式內連線
select m.name from pe_user u,pe_role_user ru,pe_role r,pe_role_module rm,ss_module m
where u.user_id = ru.user_id
and ru.role_id = r.role_id
and r.role_id = rm.role_id
and rm.module_id = m.module_id
and u.user_name=
'老王'
## 顯示內連線
select m.name from pe_user u inner
join pe_role_user ru inner
join pe_role r inner
join pe_role_module rm inner
join ss_module m
on u.user_id = ru.user_id
and ru.role_id = r.role_id
and r.role_id = rm.role_id
and rm.module_id = m.module_id
and u.user_name=
'老王'
課後作業 day34
1.檢視崗位是teacher的員工姓名 年齡 select name,age from staff t where station teacher 2.檢視崗位是teacher且年齡大於30歲的員工姓名 年齡 select name,age from staff t where station te...
python學習 Day34 python檔案訪問
open r 以讀方式開啟 w 以寫方式開啟 檔案存在,內容會被覆蓋。不存在建立。a 以追加模式 r 以讀寫模式開啟 w 以讀寫模式開啟 參見 w a 以讀寫模式開啟 參見 a rb 以二進位制讀模式開啟 wb 以二進位制寫模式開啟 參見 w ab 以二進位制追加模式開啟 參見 a rb 以二進位制...
Day34 PHP遞迴實現無限級分類
在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴演算法並結合mysql資料表實現無限級分類。遞迴,簡單的說就是一段程式 的重複呼叫,當把 寫到乙個自定義函式中,將引數等變數儲存,函式中重複呼叫函式,直到達到某個條件才跳出...