В настоящее время я пишу пару сайтов MVC, используя Kohana в качестве моей платформы. Каждый из них имеет простую область администратора, где администратор может загружать и редактировать контент. В настоящее время я храню пользовательскую модель администратора в сеансе и проверяю, являются ли они администратором, используя следующий метод:
private function checkAdmin()
{
if (!isset($_SESSION['admin']) || $_SESSION['admin']->Level !== 'admin')
{
header('Location: /admin');
exit;
}
}
Я вызываю этот метод во всех других методах контроллера администратора, например:
public function writeReview()
{
$this->checkAdmin();
// rest of the method
}
Мне просто интересно, могу ли я что-нибудь сделать, чтобы улучшить это. Это просто похоже на единственную точку отказа, которая вызывает у меня неприятный запах, поэтому я немного утомлен, чтобы двигаться дальше, прежде чем это прибить.