@yii2ru

Страница 1113 из 1721
Андрей
03.04.2018
08:10:57
Дак он это и делает)
Да, так и есть. Потому авторизация единая и нужна.

Artur
03.04.2018
10:23:45
Привет всем Есть следующая задача - в форме создания дефолтного юзера присваивать ему роль из списка ролей. У меня есть уже actionAssign: https://pastebin.com/LMCf0xqV Как посоветуете адекватно его интегрировать в форму создания пользователя?

https://pastebin.com/jtnX5TRH По идеи, с помощью этого метода внедрить же?

SiZE
03.04.2018
10:44:57
Мне надо, что бы поддомен yii2 получал того же юзера, который авторизован на yii1
$id = $session->getHasSessionId() || $session->getIsActive() ? $session->get($this->idParam) : null; авторизация выдергивает id из сессии, тебе надо научить смотреть в т.ч. сессию записанную на yii1. https://github.com/yiisoft/yii2/blob/master/framework/web/User.php#L680

Google
SiZE
03.04.2018
10:47:59
Посмотри как idParam устанавливается в первой версии https://github.com/yiisoft/yii/blob/master/framework/web/auth/CWebUser.php#L718

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

Сделай сервис: try { new AssignUserRole($userId, $role); } catch () { }

Denis
03.04.2018
10:57:01


SiZE
03.04.2018
10:57:48
Да, ниче такого )

Это чтобы гарантировано пустой результат вернуть

Т.е. бывает два вида поиска: вернуть все записи таблицы, ниче не возвращать

Александр
03.04.2018
10:58:56
Это чтобы гарантировано пустой результат вернуть
или потом orWhere использовать, например, в цикле

Denis
03.04.2018
11:00:39
Ну лан

А как через params сделать подстановку полю из таблицы? У меня просится поле status, а в моей таблице оно active userTable.status=>active?

Artur
03.04.2018
11:07:11
Чтобы он вытаскивал роли dropdownlist input и потом присваивал роль ему сразу же при создании пользователя

Google
Artur
03.04.2018
11:07:11
А что ты хочешь? Избежать дублирования кода?

Сделай сервис: try { new AssignUserRole($userId, $role); } catch () { }

Понимаю, что в классе создания формы в методе надо следующее прописать $auth = Yii::$app->authManager; $ChoosedRole = $auth->getRole(роль из списка выбранного); $auth->assign($ChoosedRole, $user->getId()); Но вот что-то проблема с вытаскиваением ролей и передачей их в getRole

Crestoff
03.04.2018
11:40:21
)))

может там какая-то форма должна быть?, понять бы о чём речь

Artur
03.04.2018
11:41:44
Проблема - не могу вытащить список ролей view: https://pastebin.com/CxcXMhvu FormModel: https://pastebin.com/V4A18fbG Отрывок из User.php: https://pastebin.com/9kvd6CHR P.S. Дисклеймер - знаю, что по-любому накосячил, вопрос, хочу понять - где просто

Алексей
03.04.2018
11:41:54
Привет всем

Андрей
03.04.2018
11:42:29
Если указать схожие настройки сессиий в обоих версиях, то все должно завестись с полпинка. Единственный момент что с поддомена на домен авторизация работать не будет. Надо делать магию )
Просмотрел код и первой и второй версии движка. В первой версии имена идут с префиксами, то есть prefix__id, prefix__name, а вот во второй версии я не нашёл такого, там просто __id и так далее. Выхоидт, что просто это завести не выйдет и надо прослойку писать?

Алексей
03.04.2018
11:42:31
Раз уж заговорили про Роли, то можно ли restapi в yii2 как-то привязать к rbac?

Artur
03.04.2018
11:42:34
Да, форма должна быть

может там какая-то форма должна быть?, понять бы о чём речь

SiZE
03.04.2018
11:48:50
какой? не нашёл...
https://github.com/yiisoft/yii/blob/master/framework/web/auth/CWebUser.php#L51

Андрей
03.04.2018
11:49:56
https://github.com/yiisoft/yii/blob/master/framework/web/auth/CWebUser.php#L51
я как раз для первого и писал, что нашёл :) Для второго Yii не нашёл

SiZE
03.04.2018
11:53:25
я как раз для первого и писал, что нашёл :) Для второго Yii не нашёл
почитай может понятней будет ) https://yiiframework.ru/forum/viewtopic.php?t=4516

Эд
03.04.2018
11:56:17
Ребят, никто не знает случаем какие нибудь статьи на тему "Лучшие практики авторизации на сайте"?

Андрей
03.04.2018
11:58:16
Google
SiZE
03.04.2018
11:58:54
По правде не совсем ясно :)
Поставь xdebug и проследи, как записываются данные в сессию.

Андрей
03.04.2018
11:59:16
Поставь xdebug и проследи, как записываются данные в сессию.
только что нашёл вот такое https://github.com/yiisoft/yii2/issues/167

Выходит, что в yii2 префикса просто нету

SiZE
03.04.2018
12:00:20
Соответствено или надо задать пустой префикс в yii1 или добавить его в idParam для yii2

SiZE
03.04.2018
12:31:23
еще не все )

Андрей
03.04.2018
12:31:51
еще не все )
А что ещё?))))

Alexey
03.04.2018
12:39:09
@samdark а зачем в yii свой редис клиент написали, а не взяли phpredis нативный?

Антон
03.04.2018
12:39:45
yii вообще помоему ничего чужого не берет

и это печально

SiZE
03.04.2018
12:40:16
yii вообще помоему ничего чужого не берет
так разработчика это никак не ограничивает

любой компонент взял и погнал

Alexander
03.04.2018
12:47:33
не помню, что как там с редисом было

на тему ничего не берёт — это не так

на очереди посмотрите или на http-client

и то и то — клиенты

Rich
03.04.2018
12:48:11
главное что редис работает ок

Alexander
03.04.2018
12:48:15
да, с простой дефолтной имплементацией, но клиенты

Artur
03.04.2018
12:48:24
UPD: насчет списка ролей - решил вопрос следующим образом: <?= $form->field($model, 'role')->dropDownList(ArrayHelper::map(Yii::$app->authManager->getRoles(), 'name', 'description'))->label('Choose a Role') Очевидная фигня на самом деле, но если вдруг кому надо будет. UPD: Насчет того, как присвоить роль - в методе добавления нового пользователя делаете следующее: public function roleIdentity() { if($role=1){ return 'admin'; }elseif($role=2){ return 'manager'; } } в методе сreate: $auth = Yii::$app->authManager; $aRole = $auth->getRole($this->roleIdentity()); $auth->assign($aRole, $user->getId());

Проблема - не могу вытащить список ролей view: https://pastebin.com/CxcXMhvu FormModel: https://pastebin.com/V4A18fbG Отрывок из User.php: https://pastebin.com/9kvd6CHR P.S. Дисклеймер - знаю, что по-любому накосячил, вопрос, хочу понять - где просто

Google
Alexey
03.04.2018
12:59:35
и то и то — клиенты
когда реализуешь транспортный протокол на пхп - это вылезает боком на хайлоаде ?

сниму слепок в xdebug, покажу ?

Artur
03.04.2018
13:41:54
Допил, но у меня там ошибка появилась, так что сейчас буду переделывать))

Это допил какого то пакета или собственное решение ?

Записывает только первую роль, почему-то при выборе менеджера он не проходит по правилу на менеджера

И записывает роль админа

Вопрос (из разряда для чайников, но все-таки туплю) Как правильно записать в поле item_name : http://prntscr.com/j0a3tw то значение, которое выбрал со списка ролей: http://prntscr.com/j0a4hh при создании пользователя

А то вот этим "велосипедным методом, я, оказывается, просто записывал 1 public function roleIdentity() { if($role=1){ return 'admin'; }elseif($role=2){ return 'manager'; } } А уже здесь подставлял то, что возвращает в условии (админ, допустим) $auth = Yii::$app->authManager; $aRole = $auth->getRole($this->roleIdentity()); $auth->assign($aRole, $user->getId());

Евгений
03.04.2018
14:24:33


У меня тут прописаны роли пользователей

Artur
03.04.2018
14:25:23
У меня тоже, у меня такая же таблица Просто при экшене создания мне туда надо передать item_name, но его он передать не может

Так как я его, к примеру, не записываю в таблицу профиля, а потом оттуда передаю в ту таблицу, которую ты скинул, допустим

Артур
03.04.2018
14:28:09
всем привет)

<?= $form->field($icon, "[{$index}]icon")->fileInput() ?>

почему прилетает пустая переменная ?((

<?php $form = ActiveForm::begin(['id' => 'dynamic-form','options' => ['enctype' => 'multipart/form-data']]); ?>

делаю в контроллере вар дамп поста

данные прилетают кроме картинки(

Google
Artur
03.04.2018
14:34:05
Так я об этом же написал

Артур
03.04.2018
14:34:06
ой сори) я думал это мне)

протупил(

Artur
03.04.2018
14:34:20
Это мне

Like
03.04.2018
14:34:37
Artur
03.04.2018
14:35:14
Так я об этом же написал
Что я по сути присвоил-записывал в переменную 1, а потом ее выдавал за admin

Короче говоря - кашу сделал

Вот теперь спрашиваю - как сделать по-нормальному, потому что понимаю, что не записываю я ничего в итоге

P.S. Как раз с помощью условия Йоды я понял, что не записывается в переменную ничего, когда идёт сравнение

Артур
03.04.2018
14:44:54
плиз)))

подскажите почему переменная пустая(

нажал добавить файл но пустая переменная прилетает(

array(1) { [0]=> array(2) { ["icon"]=> string(0) "" ["description"]=> string(4) "aaaa" } }

["icon"] тут должна быть инфа о файле только что добавленом(

кажись понял)

почему (

Katulos
03.04.2018
15:03:15
Больше скобок богу скобок

И смайликами смазать

Страница 1113 из 1721