Авторизация на уровне всего приложения

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Закрыто
miramir
Сообщения: 33
Зарегистрирован: 2009.08.03, 05:25
Откуда: Челябинск

Авторизация на уровне всего приложения

Сообщение miramir »

Извиняюсь если задаю глупый вопрос, не судите строго.

Задача такая: Необходимо сделать авторизацию пользователя на уровне всего приложения, а не на уровне отдельных контроллеров. Контроллеров в приложении будет много (достаточно разрозненые интерфейсы) и хотелось бы проводить авторизацию в каком то одном месте, но при этом иметь доступ ко всей информации об авторизованом пользователе из всех частей приложения (последнее как понимаю легко реализуемо, через Yii::app()->user)
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Авторизация на уровне всего приложения

Сообщение slavcodev »

Создается базовый контролер в котором происходит авторизация, все остальные контроллеры наследуется от этого базового.
Жду Yii 3!
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Авторизация на уровне всего приложения

Сообщение samdark »

Про базовый контроллер написано тут: http://yiiframework.ru/doc/cookbook/ru/access.rbac.file
Там же можно найти и некоторые другие полезные для вашей задачи вещи.
miramir
Сообщения: 33
Зарегистрирован: 2009.08.03, 05:25
Откуда: Челябинск

Re: Авторизация на уровне всего приложения

Сообщение miramir »

Спасибо
miramir
Сообщения: 33
Зарегистрирован: 2009.08.03, 05:25
Откуда: Челябинск

Re: Авторизация на уровне всего приложения

Сообщение miramir »

Ещё вопрос.
Нужно организовать авторизацию при существующей системе управления пользователями. Система имеет группы (роли) и сервисы(операции), управление пользователями, группами, сервисами организовывать не нужно. Как бы это лучше организовать средствами фреймворка.

И ещё один глупый вопрос.
Куда лучше пихать перегруженные классы моего приложения?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Авторизация на уровне всего приложения

Сообщение samdark »

Классы складываются в любую удобную папку, которая прописывается в конфиге в import. Я складываю в componenets обычно.

Система с ролями уже имеется? т.е. нужна интеграция?
miramir
Сообщения: 33
Зарегистрирован: 2009.08.03, 05:25
Откуда: Челябинск

Re: Авторизация на уровне всего приложения

Сообщение miramir »

Нужна подгонка проекта под существующие решения, с минимальным изменением существующего. Как понимаю моя проблема может решится также как и предыдущая, перегрузкой существующего класса.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Авторизация на уровне всего приложения

Сообщение samdark »

Да, верно. Надо написать свой класс, отнаследованный от CUserIdentitry. И там, вместо использования модели User самого приложения делать запросы к уже существующей базе.
miramir
Сообщения: 33
Зарегистрирован: 2009.08.03, 05:25
Откуда: Челябинск

Re: Авторизация на уровне всего приложения

Сообщение miramir »

UserIdentity это понятно, как понимаю мне придётся переписать класс CDbAuthManager, для реализации своего варианта RBAC
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Авторизация на уровне всего приложения

Сообщение samdark »

Если предполагается использовать данные стороннего RBAC — да. Если в базе есть только role (admin, moder, user, banned) и никого больше разделения прав — нет.
Закрыто