2009-07-22 19 views
1

我是CakePHP組件的新手。 我已經構建了一個具有登錄功能的CakePHP應用程序。 我沒有使用「身份驗證」組件,但使用我的自定義方法進行身份驗證。使用CakePHP'Acl'組件

現在我想在相同的應用中使用'Acl'組件,但我無法這樣做,因爲它也需要「Auth」組件。

是否可以在沒有「Auth」的情況下使用'Acl'。 如果是這樣,任何人都可以給一些指針?

回答

1

可以單獨使用它們,至少根據Cake PHP手冊。只要您可以將認證用戶鏈接到數據庫中的ARO,它應該可以工作。你可以在這裏看到一些關於CakePHP ACL的基礎知識:http://book.cakephp.org/2.0/en/core-libraries/components/access-control-lists.html這裏有一個設置ACL的體面教程:http://bakery.cakephp.org/articles/view/user-permissions-and-cakephp-acl

如果你沒有你的用戶在數據庫中,使它有點棘手。只要您在登錄後可以檢索到具有所需權限的ARO,您應該可以。

0

是的,這是可能的 - 只要你鏈接你的用戶帳戶與ACL一切都應該沒問題。

假設您的用戶使用他們的電子郵件和密碼登錄,那麼您的ARO表的別名字段可以包含指向用戶表的ID的電子郵件地址和foreign_id。

一旦所有的ACO到位檢查的權限是可以做到用

$res = $this->Acl->check(
     $us, // user alias (e-mail) 
     $this->name, // name of the controller 
     $privilege // privilege i.e. 'read' or '*' 
     ); 
    return $res; 

叫你的AppController

的beforeFilter