我是Laravel 5的新手,並試圖瞭解它的Auth
進程。我想阻止用戶訪問我的頁面,除非用戶未登錄。嘗試使用Route:filter
,但它不起作用。我做錯了什麼?Laravel 5檢查用戶是否登錄
Route::filter('/pages/mainpage', function()
{
if(!Auth::check())
{
return Redirect::action('[email protected]');
}
});
我是Laravel 5的新手,並試圖瞭解它的Auth
進程。我想阻止用戶訪問我的頁面,除非用戶未登錄。嘗試使用Route:filter
,但它不起作用。我做錯了什麼?Laravel 5檢查用戶是否登錄
Route::filter('/pages/mainpage', function()
{
if(!Auth::check())
{
return Redirect::action('[email protected]');
}
});
您應該使用auth
middleware。在你的路線只需添加這樣的:
Route::get('pages/mainpage', ['middleware' => 'auth', 'uses' => '[email protected]']);
或者在你的控制器構造函數:
public function __construct(){
$this->middleware('auth');
}
如果你想驗證的中間件單一路線,然後
// Single route
Route::get("/awesome/sauce", "[email protected]", ['middleware' => 'auth']);
,如果你想權威性middlesware然後使用:
// Route group
Route::group(['middleware' => 'auth'], function() {
// lots of routes that require auth middleware
});
U可以使用midlleware在colntroller
在控制所有的操作都需要在
public function __construct()
{
$this->middleware('auth');
}
要記錄或U可以在行動中檢查
public function create()
{
if (Auth::user()) { // Check is user logged in
$example= "example";
return View('novosti.create')->with('example', $example);
} else {
return "U cant access here!";
}
}
也ü可以使用它在路線
Route::get('example/index', ['middleware' => 'auth', 'uses' => '[email protected]']);
您可以直接在您的刀片代碼通過這種方式
@if做到這一點( !驗證::客()) 做到這一點 @else 做 @endif
獲取錯誤查看[app]未找到。 (查看:C:\ xampp \ htdocs \ AutoQlik \ resources \ views \ auth \ login.blade.php) – Tartar
然後您必須創建該視圖或更改'app/Http/Middleware/Authenticate.php中的重定向「 – lukasgeiter
知道了謝謝 ! – Tartar