Форум программистов, компьютерный форум, киберфорум
PHP: Yii, Yii2
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
1

yii где привязать роль к пользователю

09.08.2013, 10:34. Просмотров 1648. Ответов 2
Метки нет (Все метки)


в каком месте кода привязывать роль к конкретному пользователю(assign(...) у AuthManager)? authenticate() у UserIdentity вызывается только в том случае если пользователь явно логинется через форму. А если он логинется неявно через куки? Использую роли на основе php файла...

Добавлено через 14 часов 17 минут
разобрался. Кому интересно: создать наследника
PHP
1
2
3
4
5
6
7
8
9
10
class MyAuthManager extends CPhpAuthManager {
 
    public function init() {
        parent::init();
        if (!Yii::app()->user->isGuest) {
            $this->assign(Yii::app()->user->role, Yii::app()->user->id);
        }
    }
 
}
прописать его в конфиге main.php
PHP
1
2
3
4
5
6
7
8
    'components' => array(
//блабла код
        'authManager' => array(
            'class' => 'MyAuthManager',
            'defaultRoles' => array('guest'),
        ),
//блабла код
)
создать доступное для использования свойство Yii::app()->user->role
PHP
1
2
3
4
5
6
7
8
9
10
class UserIdentity extends CUserIdentity
{
//блабла код
 public function authenticate(){
  //блабла код
            $this->setState('role', $user->role);//сохраняем роль(в таблице user должно быть поле role)
            $this->errorCode = self::ERROR_NONE;
       return $this->errorCode==self::ERROR_NONE;
    }
}
создать protected/data/auth.php с описанием ролей
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2013, 10:34
Ответы с готовыми решениями:

Программно задать роль пользователю
У пользователя базы данных(не серверноо пользователя, а именно базы данных) есть такие понятия,...

Привязать форму к пользователю
Всем привет,задача такая: при заполнении формы пользователем,нужно,чтобы форма сохранилась за...

Как привязать картинки к пользователю по его id
Всем доброе время суток, есть сайт, на нем определенная база пользователей (SQL). Как можно...

Где в yii осуществляется редирект на site/login?
Добрый день, Не нашел это место. Хочу, чтобы при несоответствии в Access rules контроллера,...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы Fullstack-разработчиков на PHP‌
2
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16826 / 6704 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.08.2013, 12:43 2
ну как бы http://yiiframework.ru/doc/coo... .rbac.file..
0
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
12.08.2013, 19:19  [ТС] 3
Макаров безусловно молодец, но пока найдешь решение в офдоках по yii с ума сойдешь. Я не автор того решения которое решил использовать для себя, но кода у меня поменьше. Хотя по сути тоже самое.

Не по теме:

Беда в доках- это отсутствие примеров. Точнее законченных рабочих примеров.. Нужно пройти определенный этап в освоении чтобы понять то что хотят сказать (точнее не договаривают)авторы документации

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.08.2013, 19:19

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Где в Yii классе PHPMailer выставлять заголовки?
Добрый день, В каком месте в данном классе выставляется кодировка? Есть такой фрагмент: ...

Yii Где изменить стиль, поведение на валидацию required
В фреймворку только начинаю разбираться, мало что знаю( Например имеем правила на валидацию в...

Где в Yii создавать класс UserIdentity и вызывать его метод authenticate?
Добрый день, помогите люди, кто изучал данную статью Макарова...

Как привязать текстовый документ к форме или где ошибка
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.