2011-05-27 54 views
2

後用戶,而下面的CakePHP的書的說明create an ACL controlled site,我加入了bindNode建議使其「Group-Only ACL」:阿羅斯表仍在,甚至包括bindNode

//in users model 
function bindNode($user) { 
    return array('model' => 'Group', 'foreign_key' => $user['User']['group_id']); 
} 

that page,我aros表應該是這樣的:

+----+-----------+-------+-------------+-------+------+------+ 
| id | parent_id | model | foreign_key | alias | lft | rght | 
+----+-----------+-------+-------------+-------+------+------+ 
| 1 |  NULL | Group |   1 | NULL | 1 | 2 | 
| 2 |  NULL | Group |   2 | NULL | 3 | 4 | 
| 3 |  NULL | Group |   3 | NULL | 5 | 6 | 
+----+-----------+-------+-------------+-------+------+------+ 

一切都很好 - 我的組權限似乎正常工作......等,但用戶在創建時,T他仍然添加到aros表中。

是正常的嗎?應該添加用戶,只是不用於訪問目的?我認爲我的桌子看起來就像示例(只有組,沒有用戶),所以當我開始看到用戶添加時,我很擔心。

回答

1

嘗試更改爲

function bindNode($user) { 
    return array('Group' => array('id' => $user['User']['group_id'])); 
} 

,並刪除

function parentNode 
+0

任何你可以解釋爲什麼我會這樣做,而不是在Cake Book中指定的方式嗎?有什麼不同/爲什麼這個工作,另一個不工作? – Dave 2011-08-02 19:51:14