Срок действия страницы истек из-за неактивности. Пожалуйста, обновите и попробуйте еще раз в Логин - PullRequest
0 голосов
/ 02 мая 2018

У меня проблема с входом в систему, когда я пытаюсь войти в систему, он говорит, что срок действия страницы истек из-за неактивности. Я использую промежуточное ПО для проверки роли на основе имени пользователя, и кажется, что он не работает. Когда-либо пытаться войти на страницу истек всплывающие сообщения.

Маршрут:

Route::get('/', function () {
    return view('login');
});

Route::get('/dashboard/{user_id}', ['as' => 'dashboard', function ($user_id) {
    return view('theme.index')->with(['id'=>$user_id]);
}]);
Route::post('login', 'AuthController@postSignIn')->name('login');

AuthController:

 public function postSignIn(Request $request)
    {

        if (Auth::attempt(['username' => $request['username'], 'password' => $request['password']])) {
            $user=DB::table('users')->where([['username', '=', $request['username']],['status','=','0']])->first();
            $user_id=$user->user_id;


            return redirect()->route('dashboard',$user_id)->with('message', 'State saved correctly!!!');
        } else {
            return redirect()->back();
        }
    }

Middleware:

public function handle($request, Closure $next)
    {
        if ($request->user() === null) {
            //  return response("Insufficient permissions", 401);
            return response(view('error'),401);
        }
        $actions = $request->route()->getAction();
        $roles = isset($actions['roles']) ? $actions['roles'] : null;

        if ($request->user()->hasAnyRole($roles) || !$roles) {
            return $next($request);
        }
//        return response("Insufficient permissions", 401);
        return response(view('error'),401);
    }

}

Индекс:

     <form class="form-horizontal" action="{{ route('login') }}" method="post">
   {{ csrf_token() }}
   <div class="form-group m-b-20 row">
      <div class="col-12">
         <label for="emailaddress">Username</label>
         <input class="form-control" type="text" id="username" required="" placeholder="Enter Username">
      </div>
   </div>
   <div class="form-group row m-b-20">
      <div class="col-12">
         <label for="password">Password</label>
         <input class="form-control" type="password" required="" id="password" placeholder="Enter your password">
      </div>
   </div>
   <div class="form-group row text-center m-t-10">
      <div class="col-12">
         <button class="btn btn-md btn-block btn-primary waves-effect waves-light" type="submit">Login</button>
      </div>
   </div>
</form>

Ответы [ 5 ]

0 голосов
/ 25 марта 2019

У меня была такая же проблема на Laravel 5.6. Решение было просто добавить {{csrf_field ()}}

0 голосов
/ 23 августа 2018

откройте VerifyCsrfToken.php промежуточное программное обеспечение и вставьте, кроме вашего URL, например:

protected $except = [
'http://localhost:8000/login' 

];

и можете просмотреть документы по laravel для получения дополнительной информации о csrf https://laravel.com/docs/5.6/csrf#csrf-excluding-uris

0 голосов
/ 02 мая 2018

добавьте ваш маршрут в $, за исключением массива промежуточного ПО VerifyCsrfToken.php, подобного этому, кроме $ exc = ["/ login"]; .

0 голосов
/ 02 мая 2018

Я понял, я сделал это с нуля, это была проблема с функцией аутентификации Auth импорта до этого я выполнил две команды, чтобы очистить кэш

php artisan cache:clear

php artisan config:cache


and import Auth 

Спасибо за помощь, ребята, ценю это

0 голосов
/ 02 мая 2018

Вы можете изменить время жизни сеанса в конфигурации Laravel внутри config / session.php, изменив следующее значение

Срок службы

также вам нужно будет запустить

php artisan config:cache

для Laravel, чтобы выбрать новые конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...