2015-12-03 182 views
0

我正在尋找RBAC for laravel,然後我發現了像哨兵,委託等等......爲什麼我們需要RBAC許可?

RBAC通常有5個表,如用戶,user_role,roles,role_permission,權限。

如果權限取決於角色,爲什麼我們不僅僅檢查角色並刪除那個權限表?

+0

只是爲了澄清你的問題,你想知道爲什麼我們必須有權限表嗎? – James

+0

是的,因爲權限取決於角色,所以爲什麼我們不僅要檢查角色? –

+0

如果您沒有權限,您會如何知道角色擁有的權限? –

回答

0

你當然可以完全擺脫權限,但你仍然必須讓他們在某個地方。否則,這些角色會降級爲具有其他名稱的權限。

角色可以擁有多個權限,並且用戶屬於角色。該代碼通常仍然會檢查權限,如「可以編輯設置」,「可以保存」,角色只是一組權限。例如,管理員可以編輯設置並保存文件。

如果您只有角色,則必須在其中編寫權限。您的代碼會在每個保存點中說「角色X或Y或Z中的用戶?」並且添加新的角色將需要將它們添加到代碼中。所以基本上這些角色將毫無意義。