2011-08-30 54 views
0

我正在開發一個Joomla! 1.5擴展有兩種類型的註冊用戶,每個註冊用戶都可以訪問他們的特定內容。使用Joomla 1.5 ACL定製擴展內容 - 這是正確的方法嗎?

我已經做了很多關於利用Joomla ACL實現來實現這一點的閱讀。我明白它基於phpGACL。

如果我打算做的是正確的方法,我正在尋求任何指導或建議。

假設我的擴展名爲「教室」。

假設我有用戶類型:「學生」和「老師」

兩者都是註冊用戶。

「學生」先後獲得「電子書」 「老師」先後獲得「classregister」

我認爲我使用Access擴展對象將擴展訪問控制對象。

$extACL = & JFactory::getACL(); 
//define permissions for teacher 
$extACL->_mos_add_acl('com_classroom','accessdata','users','registered','usersection','classregister'); 
//define permissions for student 
$extACL->_mos_add_acl('com_classroom','accessdata','users','registered','usersection','ebooks'); 

然後當需要時,我可以使用下面的

//After checking if it is the right user 
$user = & JFactory->getUser(); 
if(! $user->authorize('com_classroom','accessdata','usersection','ebooks')) 
{ 
    JError::raiseError('403',JText::_('You are not logged in as a student')); 
} 

有我的理解正確使用的Joomla檢查(說)了「電子書」區域的權限!我的擴展名爲ACL還是錯?或者我將不得不定義我自己的訪問控制。

希望我有道理。

謝謝你的時間!

+1

你的意思是Joomla 1.6/1.7? Joomle 1.5不支持正確的ACL。此外Joomla 1.5沒有太多的保質期,我會避免用它開始一個新項目。 – udjamaflip

+0

我從來沒有說過這是一個新項目。我將不勝感激1.5特定的援助。我完全知道新版本的存在 – user919426

+0

無論哪種方式您對概念性瞭解如何在1.5(也是1.6/1.7種)的Joomla ACL是正確的,您擴展訪問擴展對象已設置的權限來定義什麼控制每個用戶組都應該有權訪問。您目前是否在使用此代碼時遇到錯誤? – udjamaflip

回答

0

我同意udjamaflip。 Joomla 1.5已經過時了,你要找的東西很容易在1.6和1.7中完成。爲什麼重新發明輪子?

+0

當然你會知道,在1.6和1.7之前,網站運行Joomla1.5在現實世界中,並非每個人都瞭解最新的系統 – user919426