2012-05-13 18 views
0

我正在使用liu_activerecord的phpActiveRecord使用鋰。 自從我重新加入ORM和協會已經有幾年了,我對我目前的ACL設置有點困惑。Lithium&phpActiveRecord - 我的ACL關聯是否正確?

這裏是我的表和他們的協會,簡化爲簡潔:

USERS - $belongs_to role 
----- 
id 
role_id 
email 


ROLES - $has_many permissions, resources through permissions, users 
----- 
id 
title (eg: Admin, Member, Guest) 


RESOURCES - $has_many roles, permissions 
--------- 
id 
controller (eg: Members, Products, Categories) 
action (eg: Index, Delete, Edit) 
procedure (eg: Email, Publish, PrivateMessage) 


PERMISSIONS - $belongs_to role, resource 
----------- 
id 
role_id 
resource_id 
allowed 

我得到一些意想不到的結果,所以我首先要確保,如果該協會是正確的。 基本上,用戶只能有一個角色。 資源由控制器,動作和可在動作中執行的任何特定過程的組合來定義。 通過權限表向用戶授予權限。

您是否看到我編寫ORM關聯有什麼問題?

回答

2

基本上,你的模型是正確的。這是一個非常簡單的RBAC架構,可能適合您的需求。其實,你可能想看看這個插件:https://github.com/tmaiaroto/li3_access它提供了一個開箱即用的RBAC適配器和其他一些不錯的插件。

如果您向我們提供有關當前問題的更多詳細信息和/或代碼,我們可能會更好地幫助您。沒問題。

+0

沒錯。這是一個非常簡單的系統。前段時間我看了一下li3_access,但得出的結論是它不適用於phpActiveRecord。不知道爲什麼我這麼想,我不得不再看一遍。你知道它是否適用於phpActiveRecord? 如果沒有,我會很快發佈我現有的代碼。 – Housni

+0

我今天搞砸了,並且意識到li3_access只能用於鋰電模型或者至少與鋰電池具有相似結構的模型。 另一方面,你確認我的關係是正確的,這是我需要的,所以我會接受這個答案:) – Housni