Можно ли отправить запрос на получение как зарегистрированный пользователь в Yii2?

Мне нужно получить исходный текст веб-страницы Yii2, который требует авторизации.

Например, есть некоторые сообщения, такие как mysite.pro/post/123, эти страницы доступны только для зарегистрированных пользователей. Я создал представление, которое может отображать сообщения в редакторе, поэтому я хочу получить код сообщения и попытаться получить его с помощью:

file_get_contents('http://mysite.pro/post/123',false),

Однако сервер возвращает мне код 403.

Есть ли способ получить страницу как текущий пользователь Yii2?

2

Решение

Это запрещено из-за безопасности. Но возможно отобразить конкретный контент из другого файла. Вот почему мы имеем renderPartial вещь. Быстрый пример:

view_file.php:

<?php
// ...
echo Yii::$app->controller->renderPartial('special_content');

special_content.php:

<?php

if (!Yii::$app->user->isGuest) {
echo "I'm visible only to registered users. ";
} else {
echo "I'm visible only to guests. ";
}

echo "I'm visible to both types. ";

Если пользователь вошел в систему, он увидит: I'm visible only to registered users. And I'm visible to both types. Иначе: I'm visible only to guests. And I'm visible to both types.

Такая вещь хороша, поскольку она дает гибкость при отображении контента из другого файла.

Краткое примечание: вы не должны использовать как $this->title в вашем special_content.php потому что это перезапишет ваш view_file.php.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector