Возможно ли создать перенаправление из функции authorize() по запросу? Я пробовал следующий код, но он не выполняет запрос на перенаправление. Может ли кто-нибудь пролить свет на это?Переадресация Laravel-5 в функции authorize() по запросам формы
Спасибо.
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
use App\Reserve;
use Cookie;
use Config;
class ClassVoucherCheckoutRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize(Reserve $reserve, Cookie $cookie)
{
if((!$cookie->has(Config::get('app.cookie_name'))) || ($reserve->where('cookie_id', $cookie->get(Config::get('app.cookie_name')))->count() == 0))
{
return redirect()->to('butchery-voucher')->withErrors('Your reservation has expired. Places can only be held for up to 30 minutes.');
}
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
];
}
}
Я понятия не имею, действительно ли это ваша проблема, но вы не можете отправить перенаправление HTTP после отправки небольшого количества контента. Поэтому, если код появляется после тега '' или, возможно, только пробела перед ''? Php', или 'echo', это не сработает. – Anders
У меня тот же вопрос –
Имейте в виду, что функция авторизации вовсе не предназначена для этой цели. Как вы можете видеть в блоке doc, он должен возвращать логическое значение true или false. False в случае, если вызывающему пользователю вообще не разрешено запускать этот запрос. В вашем случае это зависит от некоторых значений cookie, поэтому вы должны затронуть эту проблему либо на уровне промежуточного слоя, либо на уровне пользовательской проверки. –