Комментарии

Вспомогательные классы и методы
( 0 Голосов )

В административной части компонента Weblinks применяются два вспомогательных метода из файла helpers/weblinks.php. Вспомогательные классы служат для хранения небольших методов, которые могут быть использованы в разных местах компонента и не вписываются в модель, представление или сам компонент. В частности, вспомогательный метод addSubmenu () добавляет подменю, отображаемое на экране Weblinks Manager.

Эти подменю не следует путать с подменю, доступными из меню Components. Те подменю создаются на основании XML-файла компонента во время его установки, а эти воспроизводятся как ссылки на экране Weblinks Manager, обеспечивая переход между экранами двух диспетчеров: веб-ссылок и категорий.

Второй вспомогательный метод, getActions (), служит для определения тех действий, которые пользователю разрешено производить над компонентом. Для этой цели на экране Weblinks Manager имеется панель инструментов. А на экране Weblinks Manager: Weblink имеется своя панель инструментов.

Если у пользователя нет полномочий на выполнение одного или более действия, пиктограмма соответствующего действия отсутствует на панели инструментов. Вспомогательный метод getActions () возвращает объект со списком разрешенных действий над компонентом, а также разрешениями на их выполнение. Эти сведения используются в представлениях для определения тех панелей инструментов, которые должны быть отображены.

Безусловно, отображение на панелях инструментов только тех действий, которые разрешено выполнять пользователям, является удобным свойством пользовательского интерфейса. Но не следует забывать, что оно никак не защищает от попыток злоумышленника выполнить неразрешенное действие. Ведь пользователь может попытаться выполнить нужные ему действия, отредактировав переменную $_REQUEST языка РНР непосредственно в окне браузера, даже если пиктограммы этих действий недоступны на панелях инструментов. Следовательно, отсутствие пиктограммы неразрешенного действия ни в коей мере не заменяет проверку полномочий пользователя в контроллере или модели перед выполнением каждого действия.


Понравился материал? Пригодилась информация? Плюсани в социалки!


Теги:
 
Похожие новости