Я использую Laravel 5.1. Мой контроллер специально предназначен для пользователей admin. Поэтому я проверяю, является ли пользователь администратором или нет. Это мой код.Laravel Перенаправление не работает
public function getAdminData()
{
$this->checkAdminStatus();
return response()->json(array('admin-data'));
}
public function checkAdminStatus()
{
$userManager = new UserManager();
if(!$userManager->isAdmin())
{
return redirect()->route('returnForbiddenAccess');
}
}
Мой маршрут
Route::any('api/app/forbidden',['uses' =>'[email protected]','as'=>'returnForbiddenAccess']);
Теперь, если пользователь не администратор, то он не должен возвращать admin-data
пока она возвращается. Не следует ли прекратить обработку логики после вызова redirect()->route
? Также это чисто приложение REST.
Почему вы проверяете, является ли кто-то администратором вашего контроллера, если этот контроллер предназначен только для администраторов? Используйте промежуточное программное обеспечение, которое будет проверять вас, и если кто-то будет аутентифицирован и авторизирован - пропустите их до контроллера. В противном случае отправьте их на страницу авторизации. Эта логика не выполняется в контроллерах, это делается в промежуточном программном обеспечении, как и в ответ Jiedara. – Mjh