Аутентификация и авторизация

Всем привет, вот парочку вопросов:

  1. Можно ли стандртными средствами не хранить информацию о том что юзер залогинен в куках(сессии) а напрмер в базе данных (я имею ввиду корректировкой одного config.php)?

  2. Везде в темах на форуме по разному написано, так вот и не понятно при использовании RBAC что нужно писать в accessRules() ?? каков верный синтаксис ? я пишу название роли и это работает но может быть есть еще способы ?

  3. и подскажите Как обычно вы обрабатываете ситуацию когда доступ запрещен ? редирект на логин ? (Я имею ввиду случай когда проавила доступа определены в фильтрах)

  4. в RBAC есть какое то наследование ? или все же нет ? я наверное его до конца не понимаю … точнее сказать понимаю не так как он реализован и работает :slight_smile:

  1. Да. Сессию хранить в БД.

  2. http://www.yiiframework.com/doc/api/CController#accessRules

  3. Либо редирект, либо неотображение чего-либо.

  4. Да, есть: http://yiiframework.ru/doc/cookbook/ru/access.rbac.file

  1. Я знаю как это должно работать :) я не знаю что в этом фреймворке для этого нужно сделать … был бы ра ссылке.

  2. Спасибо, но тогда точнее было бы вот так - http://www.yiiframework.com/doc/api/CAccessControlFilter

  3. Спасибо, просто думал может есть какой то Yii-способ :)

  4. я читал это … пойду езе разок почитаю… (

  1. нашел и в фреймворке способ, CAccessControlFilter::accessDenied(Yii::app()->user)

однако я не очень понимаю существует ли способ исполнить это из accessRules() ???

Да, легко:

  1. Длинно:

http://programmersnotes.info/2009/03/05/speeding-up-yii-or-why-should-you-use-db-sessions/

  1. Кратко:

В конфиге приложения после компонента БД (хотя и не обязательно иенно после него):


		'session' => array(

			'class' => 'system.web.CDbHttpSession',

			'connectionID' => 'db',

		),

  1. Очень кратко:

Использовать CDbHttpSession, поставить как компонет веб-приложения, переписав стандартній компонент session

Спасибо!

а по поводу фильтроа, есть получается этот метод который вызываетс когда фильтр срабатывает

он перекидывает на LoginUrl этот урд можно в конфиге изменить, однако можно еще лучше … можно этот метод перегрузить, так все пишут на буржуйской части форума, однако никто не пишет где это делать ))

Создавать свой класс фильтра и в нем писать метод ? а как тогда Yii сказать что надо пользоваться методом из моего класса фильта ? значит надо дать фильтрам на обработку свой этот класс… короче одни вопросы :slight_smile: если кто знает где нужно перегружать этот метод, буду крайне признателен.