[英]Laravel redirect login, main URL
我已經配置了Laravel身份驗證系統,並且可以正常工作。 用戶登錄后,將被重定向到他的儀表板。 但是,當它關閉頁面或修改主URL www.xyz.com時,它不會重定向到儀表板。 當用戶登錄並訪問主URL時,如何將用戶重定向到其儀表板?
LoginController.php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Auth;
use Illuminate\Http\Request;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/iboard';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => ['logout', 'userLogout']]);
}
/**
* Get the needed authorization credentials from the request.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
protected function credentials(Request $request)
{
$field = filter_var($request->get($this->username()), FILTER_VALIDATE_EMAIL)
? $this->username()
: 'username';
return [
$field => $request->get($this->username()),
'password' => $request->password,
];
}
public function userLogout()
{
Auth::guard('web')->logout();
return redirect('/logout');
}
}
這是一個簡單的解決方案,當用戶訪問www.xyz.com頁面時,您可以使用以下方法檢查用戶是否已登錄
use Illuminate\Support\Facades\Auth;
if (Auth::check()) {
//Executes when user is logged in
return redirect('dashboard');
}
上面的代碼檢查用戶是否已登錄,如果他已登錄,則他將被重定向,否則他將不會被重定向,並且仍然在www.xyz.com上。
希望這個答案會有所幫助。
這里有一些很酷的一些很酷的東西,你可以用laravel權威性做到: - https://laravel.com/docs/5.5/authentication
只需在用戶訪問根目錄時重定向用戶即可,例如,您可以將其添加到web.php(如果版本<= 5.2,則可以將其添加到route.php)
Route::get('/', function () {
return redirect('dashboard');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.