raa
(Rudenkosasha)
July 30, 2010, 2:35pm
1
Друзья,
подскажите пожалуйста как можно разделить авторизацию для бэкэнд и фронтэнд юзеров ?
Ведь Yii::app()->user->isGuest единый.
А я хочу что бы в админке пользователь висел по аккаунтом с админскими привилегиями
а во фронтэнде что бы можно было висеть под обычным пользователем и что бы эти 2 сессии не пересекались
какие есть идеи ?
like2dev
(Like2dev)
July 30, 2010, 4:56pm
2
Расширить классы и в конфигу подключать свои.
raa
(Rudenkosasha)
July 30, 2010, 5:35pm
3
я прям чувствую как меня направили на верный путь )
а детальней чуть чуть ?
omko
(Omko)
July 30, 2010, 5:35pm
4
Sasha:
Друзья,
подскажите пожалуйста как можно разделить авторизацию для бэкэнд и фронтэнд юзеров ?
Ведь Yii::app()->user->isGuest единый.
А я хочу что бы в админке пользователь висел по аккаунтом с админскими привилегиями
а во фронтэнде что бы можно было висеть под обычным пользователем и что бы эти 2 сессии не пересекались
какие есть идеи ?
Туториал на этот счёт что говорит?
like2dev
(Like2dev)
July 30, 2010, 6:33pm
5
Посмотреть как реализуется авторизация стандартная, расширить класс, добавивши к стандартым методам авторизации методы авторизации для backend , стандартный метод будет работать как фронтенд.
like2dev
(Like2dev)
July 30, 2010, 6:47pm
6
Цитирую с статьи Sam Dark
Далее реализуем получение роли из БД при использовании Yii::app()->user->role. Для этого расширим CWebUser. protected/components/WebUser.php:
class WebUser extends CWebUser {
private $_model = null;
private $_defaultRole = 'User';
function getRole($pos == false) {
if($user = $this->getModel()){
// Добавлено мной.
return ($pos)?$user->role:$this->_defaultRole;
}
}
private function getModel(){
if (!$this->isGuest && $this->_model === null){
$this->_model = User::model()->findByPk($this->id, array('select' => 'role'));
}
return $this->_model;
}
}