В моем пользовательском компоненте я хотел бы иметь возможность ограничивать определенные представления только определенными группами пользователей. Если я создаю пункт меню для одного из моих представлений, это довольно легко сделать: я просто выбираю уровень доступа для этого пункта меню, и все готово.
Теперь проблема возникает, если кто-то пытается получить прямой доступ к URL-адресу с параметром option = com_mycomponent, или любое из внутренних перенаправлений моего компонента переходит на страницу без назначенного Itemid ... в этом случае сам компонент нуждается в том, проверить группу пользователей и определить, может ли она просматривать эту страницу ... как я могу ограничить это в своем коде? Простая жестко заданная проверка для группы пользователей? Или есть "стандартный" способ сделать это?
Я проверял документацию и нашел это:
http://docs.joomla.org/J2.5:How_to_implement_actions_in_your_code
но это для того, что пользователь может сделать, а не для того, что пользователь может видеть. Я также нашел эту ветку форума:
http://forum.joomla.org/viewtopic.php?t=530721
код в начале довольно старый, но в конце рекомендуется использовать это:
http://api.joomla.org/cms-3/classes/JUser.html#method_authorise
Как мне поступить для этого? Должен ли я определить активы для основного объекта, сгенерированного моим представлением, чтобы я мог проверить доступ к нему с помощью JUser?
Заранее спасибо.
источник
Вот код, который вам необходим, чтобы начать показывать, в каких группах находятся пользователи.
источник
Вероятно, поздний ответ на этот вопрос. Но вот что я использовал:
В основном файле controller.php я переопределил функцию отображения следующим образом:
источник