我目前使用Symphony 2庫在PHP中構建應用程序,但我想這個問題適用於任何類型的Web應用程序。這是基本的基礎設施,我想實現:如何實現基於組和角色的權限系統?
- 每個用戶是其中的一部分或多個組
- 每個組實現由一組實施
- 角色適用於所有用戶在一個或多個角色
- 用戶可以在其組
一個例子不執行其他角色組
- 一組「作家」落實「作家」的角色和「評論主持人」的角色
- 一組「管理員」實現了「管理員」角色
- 用戶「亨利」是作家羣體的一部分,和管理員組
- 用戶「亨利」實現了「所有者」角色
角色情感該用戶是「作家」,「評論主持人」,「管理員」和「所有者」。
編輯
它是一個很好的做法還是不要有這種行爲:用戶可以從自己的組繼承的角色,可以有個人的作用也是如此。 如果是這樣,如何讓它變成現實?
我認爲5個表:
用戶:
- ID
- 名
角色:
- ID
- 名
UserRole的:
- id_user(FK)
- id_role(FK)
組:
- ID
- 名
GroupRole:
- id_group(FK)
- id_role(FK)
用戶組:
- id_user(FK)
- id_group(FK)
這可能是工作和存在的主要問題是防止添加用戶已經從它所屬的組的個人作用。
它似乎有點複雜。有沒有更好的方法來做到這一點?
感謝
那麼......問題是什麼?看起來你已經全部計劃好了,所以你需要我們幫忙的是什麼? – Majenko
編輯我自己的帖子;) – Rybus
你基本上是在描述一個相當普通的系統,並且已經制定了正常的表格。有一個角色也在他們的團隊中的用戶有問題嗎?這真的有影響嗎?他們有角色,無論他們從哪裏獲得角色,或者他們有兩次角色 - 如果他們擁有角色都沒有關係。 – Majenko