
Stanislav
11.02.2017
07:49:34

Konstantin
11.02.2017
08:20:10
на ютубе все видосы однотипные, как устанавливать где что лежит, кароче ничего путного нет
мало видосов где бы объясняли зачем они здесь пишут это а в другом файле другое, и не объясняют например что будет если другое указать. вот тупо с мануала читают, здесь так поставьте там вот так, т.е. не включая размышление

Google

Konstantin
11.02.2017
08:23:13
на англоязычных вроде неплохие видосы но там чисто по интуиции понимать приходится)))

Stanislav
11.02.2017
08:38:48
Как бы так сказать.. для начального понимания на ютубе достаточно, а потом просто открываешь документацию, включаешь IDE и смотришь как там что устроено
Ведь магии никакой нет, и там такой же php код как и везде
А вот если вы в PHP еще не разумны и лезете уже во фреймворки, ставите rbac по беспределу - это уже другой разговор)

Sidredin
11.02.2017
08:57:43

lxShaDoWxl
11.02.2017
09:04:29
Если вам rbac нужен только для разделения на админ и пользователь, то проще всего сделать 2 авторизации, и отделить в базе админов и пользователь по разным таблицам

Sidredin
11.02.2017
10:01:59

lxShaDoWxl
11.02.2017
10:03:52

Artur
11.02.2017
13:06:49
Так будет правильнее, мне кажется
Ну это чисто мое мнение, 17 летнего школьника

SiZE
11.02.2017
13:56:57
не пойдет. identity может и не быть

Andrey
11.02.2017
13:59:28
Не обязательно вызвать через identity

Google

Andrey
11.02.2017
14:00:22
Статического метода модели User вполне бы хватило.

Artur
11.02.2017
14:08:08

ivphpan
11.02.2017
14:23:42
вопрос есть
в рест использую HttpBearerAuth
обрашаюсь с другого домена /user/info
браузер сначала отправлет OPTIONS запрос
на что получает 401 не авторизован
может кто сталкивался?

SiZE
11.02.2017
14:28:09
мало данных
но вообще смотри что у тебя вперед чего вызывается

ivphpan
11.02.2017
14:38:06
OPTIONS но он заголовки авторизации не посылает
Почему то

SiZE
11.02.2017
14:39:50
смотри в браузере что у тебя там

ivphpan
11.02.2017
14:56:22
$behaviors['authenticator'] = [
'class' => HttpBearerAuth::className(),
'only' => $authAction,
'except'=>['options','option']
];

SiZE
11.02.2017
14:59:13
так это самое. причем тут yii ?
кто у тебя запрос отправляет?

ivphpan
11.02.2017
14:59:58
в смысле кто
я с одного домена обращаюсь на другой домен
путем $.ajax
jQuery

SiZE
11.02.2017
15:00:33
ну

ivphpan
11.02.2017
15:01:00
$.ajax({
type: 'get',
url: '<URL>',
headers:{'Authorization':'Bearer <TOKEN>'},
contentType: 'application/json;',
dataType: 'json',
success: function(result) {
data = result;
}, // use success?
complete: function(result) {
data = result;
} // or use complete?
});
почему то в postman без проблем все получаю

SiZE
11.02.2017
15:02:00
Тебе надо или отключить авторизацию для OPTIONS запросов или передавать заголовок

ivphpan
11.02.2017
15:02:22
ivphpan, [11.02.17 19:56]
$behaviors['authenticator'] = [
'class' => HttpBearerAuth::className(),
'only' => $authAction,
'except'=>['options','option']
];

Google

ivphpan
11.02.2017
15:02:29
так я тут же указал except

SiZE
11.02.2017
15:04:15
в контроллере в методе behaviors выведи список всех поведений

ivphpan
11.02.2017
15:04:16
видимо это роли не играет
решилось по другому
$authAction = $this->authAction();
if ($authAction && !$this->isOptions()) {
$behaviors['authenticator'] = [
'class' => HttpBearerAuth::className(),
'only' => $authAction,
'except'=>['options','option']
];
}
просто смысл тогда в except?
except идет экшенов
но не типов запросов

Aleksandr
11.02.2017
15:09:11
при preflight авторизация не отправляется по спеке

ivphpan
11.02.2017
15:12:14
а по русски?

SiZE
11.02.2017
15:14:08
хотя тоже не очень по-русски

ivphpan
11.02.2017
15:14:34
$.ajax({
type: 'get',
url: '<URL>',
headers:{'Authorization':'Bearer <TOKEN>'},
contentType: 'application/json;',
dataType: 'json',
success: function(result) {
data = result;
}, // use success?
complete: function(result) {
data = result;
} // or use complete?
});
перед ним браузер отправляет свой запрос
OPTIONS
а потом уже гет
но в опшн запрос он не добавляет
headers:{'Authorization':'Bearer <TOKEN>'},

SiZE
11.02.2017
15:16:14
тебе всего то надо продебажить пару методово и понять, где ты ошибся
я тебе предложил посмотреть список behaviors в конечном контроллере

Aleksandr
11.02.2017
15:16:51
options, который отрпавляется перед запросом, называется preflight-запрос - его цель проверить разрешен ли доступ в контексте cors. По спецификации в этот запрос НЕ ДОЛЖНА включать авторизационная информация. т.е. поведение верное

Google

Aleksandr
11.02.2017
15:17:39
почему у тебя не работает except тебе ответит 5 минут дебага. больше тут обсуждатьнечего если речь идет о трех строчках из документации

ivphpan
11.02.2017
15:20:01
я решил вопрос
просто из коробки видимо except не предусматривает OPTIONS запрос

Aleksandr
11.02.2017
15:20:43
примеры в issue гитхаба говорят об обратном
https://github.com/yiisoft/yii2/issues/6254

ivphpan
11.02.2017
15:22:32
так у меня except options прописан был
$behaviors['authenticator'] = [
'class' => HttpBearerAuth::className(),
'only' => $authAction,
'except'=>['options','option']
];

Aleksandr
11.02.2017
15:23:06

Admin
ERROR: S client not available

Denis
11.02.2017
15:33:27
Ребят такой вопрос мне нужно сменить конфиг приложения после завершения парсинга url manager'a. Url manager кастомный и пихать в него код как то не очень. Короче мне нужно изменить параметр приложения а в ul manger'e инциализируется язык сайта, куда это лучше впихнуть?

Artur
11.02.2017
15:48:46
Ребят. Есть ссылка вида site.ru/site/apps/index
Нужно сделать только site.ru/apps
В urlManager добавляю правило
['pattern' => 'apps', 'route' => 'site/apps/index']
При переходе на site.ru/apps получаю 404
Почему так?

Alexey
11.02.2017
16:09:29

Nurik
11.02.2017
16:14:55

Denis
11.02.2017
16:18:02
Смотрите у меня url manager меняет язык системы исходя из запроса /ru /en /de и т.д. И ставит yii app language en, данный url manager нашел на гитхабе, и в чем суть мне валюту нужно подстраивать под язык а валюта берется из yii app params currency
ме нужно менять этот параметр взависимости от языка, язык меняется в url manager'e во время handleRequest
Посмотрю пока в сторону событий

Nurik
11.02.2017
16:22:12
Конфиг на то и конфиг - что не должен меняться динамически и тем более неявно привязываясь к urlManager'у.
Ты что значение валюты хранишь в конфиге ?
А вообще почему нельзя сделать так:
'ru_RU'=>'RU', 'en_EN'=>'USD'

Denis
11.02.2017
16:24:09
ну вообще получается что так, просто доступ из layout'a к контроллеру как сделать, вот я самое простое и прокинул через params
хотя нет фигню написал только что там другая логика вообще
Валюта хранится в парметрах потому что нужна во вьюхах и в моделях для подсчета цены, а в моделях смотрит по этому параметру какую запись из бд брать, а во вью символ цены ставится уже исходя из этого параметра, просто не камельфо возвращать из модели 12$ сразу, поэтому в конфиг закинул

Google

Artur
11.02.2017
16:28:46
Парни, вопрос такой.
юзаю swiftmailer, отправляю через smtp яндекса.
можно как то поменять конфиг так, что бы отправка шла не через smtp, а через дефолтный пхпшный mail() ?

Nurik
11.02.2017
16:29:15
postfix, send_mail ?

Artur
11.02.2017
16:31:39
http://php.net/manual/ru/function.mail.php через вот это

Nurik
11.02.2017
16:32:20
Копай в сторону MTA — mail transfer agent, там разберешься как все устроено и что нужно именно тебе.
И читай внизу твоей ссылки
Замечание:
Реализация функции mail() в Windows во многом отличается от реализации в Unix. Во-первых, она не использует локальную программу для составления писем, а работает непосредственно с сокетами, что означает что необходим почтовый агент (MTA), ожидающий соединений на сокете (может быть как на локальном так и на удаленном сервере).
Во-вторых, дополнительные заголовки вроде: From:, Cc:, Bcc: и Date: интерпретируются в первую очередь не, MTA, а PHP.
Поэтому параметр to не должен быть адресом вида "Something <someone@example.com>". Команда mail может неправильно интерпретировать этот адрес во время передачи данных MTA.

Artur
11.02.2017
16:36:18
спасибо, шас гляну

Nurik
11.02.2017
16:40:56

lxShaDoWxl
11.02.2017
16:54:27

Denis
11.02.2017
16:54:55

Stanislav
11.02.2017
18:43:33
Вот это велосипеед

Nurik
11.02.2017
18:49:23