2011-08-30 33 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