web-dev-qa-db-fra.com

Laravel 5 vérifier si un utilisateur est connecté

Je suis nouveau sur Laravel 5 et j'essaie de comprendre son processus Auth. Je veux empêcher l'utilisateur d'accéder à certaines de mes pages à moins qu'il ne soit pas connecté. Essayer de faire avec Route:filter mais cela ne fonctionne pas. Qu'est-ce que j'ai fait de mal?

Route::filter('/pages/mainpage', function()
{
    if(!Auth::check()) 
    {
        return Redirect::action('PagesController@index');
    }
});
11
Tartar

Vous devez utiliser le auth middleware . Dans votre itinéraire, ajoutez-le simplement comme ceci:

Route::get('pages/mainpage', ['middleware' => 'auth', 'uses' => 'FooController@index']);

Ou dans le constructeur de vos contrôleurs:

public function __construct(){
    $this->middleware('auth');
}
19
lukasgeiter

vous pouvez le faire directement dans votre code de lame de cette façon

@if (!Auth::guest())
        do this 
@else
        do that
@endif
9
jorge gibbs

utilisation

Auth::check()

plus ici https://laravel.com/docs/5.2/authentication#authenticating-users pour déterminer si l'utilisateur actuel est authentifié

8
Ivan

Vous pouvez utiliser middleware dans le contrôleur

  1. Toutes les actions dans le contrôleur doivent être connectées
public function __construct()
{
    $this->middleware('auth');
}
  1. Ou vous pouvez le vérifier en action
public function create()
{
    if (Auth::user()) {   // Check is user logged in
        $example= "example";
        return View('novosti.create')->with('example', $example);
    } else {
        return "You can't access here!";
    }
}
  1. Vous pouvez également l'utiliser sur la route
Route::get('example/index', ['middleware' => 'auth', 'uses' => 'example@index']);
5
Adnan

si vous voulez un middleware d'authentification pour un seul itinéraire,

// Single route

Route::get("/awesome/sauce", "AwesomeController@sauce", ['middleware' => 'auth']);

si vous voulez un auth middlesware sur plusieurs routes, utilisez:

// Route group

Route::group(['middleware' => 'auth'], function() {
// lots of routes that require auth middleware
});
2
Khan Shahrukh