3
我似乎遇到问题,确定如何限制Joomla 2.5后端用户到我正在编写的自定义组件中的特定功能/视图。根据我的理解,我应该能够将我的视图添加为access.xml文件中的一部分。我试图通过命名与我的视图同名的节,但我似乎无法独立于组件整体更改对该视图的访问权限。有没有人有更深入的例子,我可以查看或提示?这甚至有可能吗?Joomla 2.5 ACL限制到特定功能/视图
我似乎遇到问题,确定如何限制Joomla 2.5后端用户到我正在编写的自定义组件中的特定功能/视图。根据我的理解,我应该能够将我的视图添加为access.xml文件中的一部分。我试图通过命名与我的视图同名的节,但我似乎无法独立于组件整体更改对该视图的访问权限。有没有人有更深入的例子,我可以查看或提示?这甚至有可能吗?Joomla 2.5 ACL限制到特定功能/视图
我相信你所要做的并不是Joomla所支持的。 我的建议是在access.xml在#__assets
表的名称在rules
字段中应该保存的JSON编码列表添加自定义规则的意见
<section name="component">
<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
<action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
<action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_COMPONENT_DESC" />
<action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_COMPONENT_DESC" />
<action name="core.edit.state" title="JACTION_EDITSTATE" description="COM_CATEGORIES_ACCESS_EDITSTATE_DESC" />
</section>
<section name="views">
<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
</section>
然后保存视图像, 您规则:
{"core.admin":{}}
您可以检查当前用户可以或不可以访问使用JAccess
$user_id=JFactory::getUser()->id;
$has_permission = JAccess::check($user_id,'core.admin','com_component.view.playerlist');
if($has_permission){
draw_view();
}else{
JError::riseError(403,JText::_('PERMISSION_DENIED'));
// or
JError::raiseWarning(403,JText::_('PERMISSION_DENIED'));
}
一个确定的部分
如果您有任何疑问,请随时发表评论。
我有疑问! 'access.xml'文件中''标签和'JAccess :: check'之间的关系是什么? –
pedromanoel
而不应将该部分命名为“视图”而不是“视图”?我也在研究如何将ACL添加到我的扩展中,但我不确定joomla如何使用该配置。 – pedromanoel