Авторизация на уровне всего приложения
Авторизация на уровне всего приложения
Извиняюсь если задаю глупый вопрос, не судите строго.
Задача такая: Необходимо сделать авторизацию пользователя на уровне всего приложения, а не на уровне отдельных контроллеров. Контроллеров в приложении будет много (достаточно разрозненые интерфейсы) и хотелось бы проводить авторизацию в каком то одном месте, но при этом иметь доступ ко всей информации об авторизованом пользователе из всех частей приложения (последнее как понимаю легко реализуемо, через Yii::app()->user)
Задача такая: Необходимо сделать авторизацию пользователя на уровне всего приложения, а не на уровне отдельных контроллеров. Контроллеров в приложении будет много (достаточно разрозненые интерфейсы) и хотелось бы проводить авторизацию в каком то одном месте, но при этом иметь доступ ко всей информации об авторизованом пользователе из всех частей приложения (последнее как понимаю легко реализуемо, через Yii::app()->user)
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Авторизация на уровне всего приложения
Создается базовый контролер в котором происходит авторизация, все остальные контроллеры наследуется от этого базового.
Жду Yii 3!
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Авторизация на уровне всего приложения
Про базовый контроллер написано тут: http://yiiframework.ru/doc/cookbook/ru/access.rbac.file
Там же можно найти и некоторые другие полезные для вашей задачи вещи.
Там же можно найти и некоторые другие полезные для вашей задачи вещи.
Нравится Yii? Давайте сделаем его лучше!.
Re: Авторизация на уровне всего приложения
Ещё вопрос.
Нужно организовать авторизацию при существующей системе управления пользователями. Система имеет группы (роли) и сервисы(операции), управление пользователями, группами, сервисами организовывать не нужно. Как бы это лучше организовать средствами фреймворка.
И ещё один глупый вопрос.
Куда лучше пихать перегруженные классы моего приложения?
Нужно организовать авторизацию при существующей системе управления пользователями. Система имеет группы (роли) и сервисы(операции), управление пользователями, группами, сервисами организовывать не нужно. Как бы это лучше организовать средствами фреймворка.
И ещё один глупый вопрос.
Куда лучше пихать перегруженные классы моего приложения?
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Авторизация на уровне всего приложения
Классы складываются в любую удобную папку, которая прописывается в конфиге в import. Я складываю в componenets обычно.
Система с ролями уже имеется? т.е. нужна интеграция?
Система с ролями уже имеется? т.е. нужна интеграция?
Нравится Yii? Давайте сделаем его лучше!.
Re: Авторизация на уровне всего приложения
Нужна подгонка проекта под существующие решения, с минимальным изменением существующего. Как понимаю моя проблема может решится также как и предыдущая, перегрузкой существующего класса.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Авторизация на уровне всего приложения
Да, верно. Надо написать свой класс, отнаследованный от CUserIdentitry. И там, вместо использования модели User самого приложения делать запросы к уже существующей базе.
Нравится Yii? Давайте сделаем его лучше!.
Re: Авторизация на уровне всего приложения
UserIdentity это понятно, как понимаю мне придётся переписать класс CDbAuthManager, для реализации своего варианта RBAC
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Авторизация на уровне всего приложения
Если предполагается использовать данные стороннего RBAC — да. Если в базе есть только role (admin, moder, user, banned) и никого больше разделения прав — нет.
Нравится Yii? Давайте сделаем его лучше!.