Как сделать доступность метода контроллера (mvc) для разных пользователей?
Как сделать доступность метода контроллера (mvc) для разных пользователей?
То есть человек авторизовался, определяется его тип admin или user. Админу доступны те методы контроллера которые недоступны обычному пользователю. Как бы это сделать грамотно?
Мне только думается сделать так:
1 Методы контроллера заносят данные о доступности этого метода в переменную класса.
2 В классе определен privat метод проверки данных о доступности вызываемого метода контроллера и типа пользователя. Тип пользователя в SESSION.
3 Этот privat метод вызывается в конструкторе супер-класса контроллера.
В случае если тип пользователя например user а вызывается метод админа, скрипт завершается ошибкой.
По идее, должно работать, и будет безопасно. Но что-то мне подсказывает... что это не совсем правильно. Как лучше сделать?
Посмотрите, как это реализовано в популярных фреймворках. Например, в yii в самом контроллере прописываются доступы к методам для каждой категории посетителей - гости, юзеры, админы и т.д (yii access rules).