Я пытаюсь настроить многоязычное веб-приложение.Используя промежуточное ПО переключателя локали, я хочу установить локаль с помощью запроса Http, например "locale / ru".Затем вернитесь к текущей странице в качестве установленной переменной сеанса.(У меня также есть стандартная авторизация laravel, настроенная для панели управления бэкенда.) Но когда запрос сделан (через URL или что-то в этом роде), laravel перенаправляет меня на страницу авторизации, как будто я пытаюсь перейти на страницу, требующую аутентификации.,Если я попытаюсь установить в этом сеансе настройку Http-запроса в качестве уже вошедшего в систему пользователя, он перенаправит меня на страницу панели инструментов «Вы вошли в систему» по умолчанию.
Если я заменим redirect-> back () наredirect-> маршрут ( 'посадка');тогда это работает, но я не хочу устанавливать постоянную страницу для этой функции.Я пытался удалить Auth :: routs ();с веб-маршрутов, я перенаправлен на текущую переменную сеанса локали страницы, установленную правильно, но я потерял способности аутентификации laravel.
Код промежуточного программного обеспечения My LanguageSwitcher:
<?php
namespace App\Http\Middleware;
use Closure;
class SwitchLanguage
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
//Language switcher
if(\Session::has('locale'))
{
\App::setLocale(\Session::get('locale'));
}
//Language switcher ending!!
return $next($request);
}
}
Мои веб-маршруты:
<?php
// Route::get('/', function () {
// return view('front.anasayfa');
// });
//Language switcher
Route::get('locale/{locale}', function($locale){
Session::put('locale',$locale);
return redirect()->back();
});
Route::get('/','AnasayfaController@index')->name('landing');
Route::get('/haberler','NewsController@index');
Auth::routes();
Route::get('/dashboard', 'DashboardController@index');
Я хочу выбрать язык с помощью URL-адреса, например "locale / etc ....", а затем перенаправить на текущую страницу, не мешая аутентификации laravel.