joomla 3.0 управление доступом к компонентам сайта

Контрольный вопрос компонента Joomla 3 (извините нуб). У меня есть компонент, и я бы хотел, чтобы у сайта и административной части были разные настройки доступа. Пример Joomla, кажется, сосредоточен на безопасности администратора, в частности, admin\access.xml.

Могу ли я установить доступ на уровне группы на стороне «сайта» моего компонента? если да, то как?

Спасибо, это лучший документ, который я нашел, но я не думаю, что он отвечает на мой вопрос.

https://docs.joomla.org/J3.x:Разработка_a_MVC_Component/Добавление_ACL#Ограничение_доступа_к_компоненту


person BigSkyRunningCoder    schedule 17.03.2015    source источник


Ответы (1)


У вас есть правильный документ, если он уже работает правильно в бэкэнде, вы можете использовать его и во внешнем интерфейсе. Как описано в учебнике, вы должны добавить:

// Access check: is this user allowed to access the backend of this component?
if (!JFactory::getUser()->authorise('core.manage', 'com_yourcomponent')){
   //pop the error below:
   return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
}else{
   // [...] Stuff for restricted access here 
}

Вместо core.manage вы можете указать любое требование списка контроля доступа, которое вам нужно проверить. Например, core.edit, core.manage, core.yourown и т. д. Эти условия контроля доступа сосуществуют в файле admin/access.xml, нет необходимости создавать отдельный файл для внешнего интерфейса.

person ilias    schedule 17.03.2015
comment
Спасибо. Чего я не понял, так это того, что я не устанавливал разрешения, мы устанавливали действия. Затем вы настраиваете свой компонент для назначения действия группам. Наконец, пользователи объединены в группы. Ключом было добавление «com_yourcomponent». Спасибо еще раз. - person BigSkyRunningCoder; 17.03.2015