Faire expiration de la session de redirection de connexion?

Lorsque l'utilisateur se connecte et est authentifié, j'utilise Auth::user()->username; pour afficher nom d'utilisateur de l'utilisateur sur le tableau de bord. Cependant, pour quelque raison lors de la session expire, la classe Auth ne semble pas fonctionner et la page de tableau de bord déclenche une erreur comme trying to get property of non-object pour Auth::user()->username;. Comment puis-je rediriger l'utilisateur vers la page de connexion lorsqu'il clique sur un lien ou actualiser la page après que la session a expiré?

J'ai essayé le Authenticate.php middleware mais il y a toujours la renvoie à la page de login,tout ce que vous mettez les informations d'identification soit correcte ou incorrecte.Cependant,lorsque je n'utilise pas ce middleware connexions de l'utilisateur.Ai-je raté quelque chose?

Route.php

    <?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
/*
Actions Handled By Resource Controller
Verb        Path                    Action      Route Name
GET         /photo                  index       photo.index
GET         /photo/create           create      photo.create
POST        /photo                  store       photo.store
GET         /photo/{photo}          show        photo.show
GET         /photo/{photo}/edit     edit        photo.edit
PUT/PATCH   /photo/{photo}          update      photo.update
DELETE      /photo/{photo}          destroy     photo.destroy
Adding Additional Routes To Resource Controllers
If it becomes necessary to add additional routes to a resource controller beyond the default resource routes, you should define those routes before your call to Route::resource:
Route::get('photos/popular', 'PhotoController@method');
Route::resource('photos', 'PhotoController');
*/
//Display all SQL executed in Eloquent
//Event::listen('illuminate.query', function($query)
//{
//    var_dump($query);
//});
define('ADMIN','admin');
define('SITE','site');
Route::group(['namespace' => ADMIN], function () {
Route::get('/','UserController@showLogin'); 
});
////////////////////////////////////Routes for backend///////////////////////////////////////////////////
Route::group(['prefix' => ADMIN,'middleware' => 'auth'], function () {
Route::group(['namespace' => ADMIN], function () {
//Route::get('/','EshopController@products');
//sumit routes for user registration
//Route::resource('users','UserController');
Route::get('/users/destroy/{id}','UserController@destroy');
Route::get('UserProf','UserController@userProf');
Route::get('users','UserController@index');
Route::get('/users/create','UserController@create');
Route::get('/users/adminEdit/{id}','UserController@adminEdit');
Route::post('/users/adminUpdate','UserController@adminUpdate');
Route::post('/users/store','UserController@store');
Route::get('/users/edit/{id}','UserController@edit');
Route::post('/users/update/{id}','UserController@update');
//airlines route
Route::get('airlines','AirlinesController@index');
Route::get('/airlines/create','AirlinesController@create');
Route::post('/airlines/store','AirlinesController@store');
Route::get('/airlines/edit/{id}','AirlinesController@edit');
Route::post('/airlines/update','AirlinesController@update');
Route::get('/airlines/destroy/{id}','AirlinesController@destroy');
//end sumit routes
//flight routes
Route::get('flights','FlightController@index');
Route::get('showFlightBook','FlightController@showFlightBook');
Route::get('flights/create','FlightController@create');
Route::post('flights/store','FlightController@store');
Route::get('flights/book','FlightController@book');
Route::get('flights/edit/{id}','FlightController@edit');
Route::post('flights/update','FlightController@update');
Route::get('flights/destroy/{id}','FlightController@destroy');
//Route::resource('flight','FlightController');
//hotels route
Route::get('hotels','HotelsController@index');
Route::get('/hotels/create','HotelsController@create');
Route::post('/hotels/store','HotelsController@store');
Route::get('/hotels/edit/{id}','HotelsController@edit');
Route::post('/hotels/update','HotelsController@update');
Route::get('/hotels/destroy/{id}','HotelsController@destroy');
//end sumit routes
//book-hotel routes
Route::get('hotel-book','HotelBookController@index');
Route::get('showHotelBook','HotelBookController@showHotelBook');
Route::get('hotel-book/create','HotelBookController@create');
Route::post('hotel-book/store','HotelBookController@store');
Route::get('hotel-book/book','HotelBookController@book');
Route::get('hotel-book/edit/{id}','HotelBookController@edit');
Route::post('hotel-book/update','HotelBookController@update');
Route::get('hotel-book/destroy/{id}','HotelBookController@destroy');
//Route::resource('hotel','HotelController');
//close flight routes
//for admin login
//Route::get('initlogin','UserController@lgnPage');
Route::get('login','UserController@showLogin');
//Route::get('privilegeLogin','UserController@privilegeLogin');
//Route::post('privilegeCheck','UserController@privilegeCheck');
Route::post('login','UserController@doLogin');
Route::get('/dashboard','DashController@index');
Route::get('logout','UserController@doLogout');
//user login 
//Route::get('userLogin','UserController@showUserLogin');
//Route::post('userLogin','UserController@doUserLogin');
Route::get('/userDashboard','DashController@userIndex');
Route::get('Logout','UserController@doUserLogout');
//password reset
Route::get('forget-pass','UserController@showReset');
//Route::get('home', 'PassResetEmailController@index');
});   
});
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);

Authenticate.php:

    <?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Contracts\Auth\Guard;
class Authenticate {
/**
* The Guard implementation.
*
* @var Guard
*/
protected $auth;
/**
* Create a new filter instance.
*
* @param  Guard  $auth
* @return void
*/
public function __construct(Guard $auth)
{
$this->auth = $auth;
}
/**
* Handle an incoming request.
*
* @param  \Illuminate\Http\Request  $request
* @param  \Closure  $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($this->auth->guest())
{
if ($request->ajax())
{
return response('Unauthorized.', 401);
}
else
{
//return redirect()->guest('auth/login');
return redirect()->guest('/');
}
}
return $next($request);
}
}
  • Cela devrait être géré dans le middleware fichier Authienticate.php. Voir les lignes ici: { ... } return redirect()->guest('auth/login'); Quel est votre routes.php ressembler? Sont toutes les routes qui nécessitent d'être connecté regroupés par cette middleware?
  • non, il n'est pas regroupés,Ok si le regroupement route par ce Authenticate.php middleware fait le travail,je vais donner l'essayer.donc sur return redirect()->guest('auth/login'); le chemin de redirection devrait être remplacer avec notre propre page de connexion du chemin est-il?
  • oui, il devrait être votre page de connexion du chemin
  • Je ne sais pas pour quelle raison,la page est toujours la renvoie à la page de connexion quel que soit credentails je l'ai mis sur la page de login quand je l'applique Authenticate.php middleware sur les routes.L'utilisateur est en mesure de vous connecter avant d'-je utiliser ce middleware.Que faire?
InformationsquelleAutor Sumit | 2015-12-23