Вот как это обычно делается.Просто расширьте базовый класс, который проверяет правильность метода before.
Вот пример:
classes/controller/base.php
:
class Controller_Base extends Controller
{
public function before()
{
//Do your checks here
}
}
classes/controller/welcome.php
:
class Controller_Welcome extends Controller_Base
{
public function action_index()
{
//Do your normal thing here
}
}
В методе before базового контроллера вы можете проверить зарегистрированного пользователя и разрешения и, например, показать сообщение об ошибке, что у них нет доступа к этой странице.