Laravel 5.3 身份验证后重定向
Laravel 5.3 redirect after authentication
我在 Laravel 5.3 身份验证方面遇到问题。我想在登录后重定向用户。如果我想将所有用户重定向到我知道的同一路由,我可以更改属性 protected $redirectTo = 'mypath'
,但我想根据用户的类型重定向用户,因此我需要自定义逻辑。在它说的文档中,我应该
protected function redirectTo(){
//my logic goes here
}
但我的功能一直被忽略。在它说的文档中,我的函数应该覆盖 $redirectTo
属性,但即使我删除它,它仍然会转到默认路由(“/home
”)。如果我更改属性值,它会将我重定向到正确的路径,但我的功能仍然会被忽略。
https://laravel.com/docs/5.3/authentication#included-authenticating
我的登录控制器如下所示:
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
use AuthenticatesUsers;
//protected $redirectTo = '/';
protected function redirectTo()
{
return redirect('admin/home');
}
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
}
编辑:如果我将我的函数命名为 authenticated()
而不是 redirectTo()
,它将按计划工作。
protected function redirectTo()
{
return redirect('admin/home');
}
Laravel 使用 RedirectUsers::redirectPath()
获取重定向路径。
它只检查 属性 redirectTo
.
如果您想应用自定义逻辑 - 只需覆盖控制器中的 redirectPath()
方法。
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
use AuthenticatesUsers;
//protected $redirectTo = '/';
public function redirectPath()
{
// ...
// custom logic here
// ...
return '/my/custom/url/here';
}
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
}
同样的方法适用于 RegisterController
和 ResetPasswordController
。
我在 Laravel 5.3 身份验证方面遇到问题。我想在登录后重定向用户。如果我想将所有用户重定向到我知道的同一路由,我可以更改属性 protected $redirectTo = 'mypath'
,但我想根据用户的类型重定向用户,因此我需要自定义逻辑。在它说的文档中,我应该
protected function redirectTo(){
//my logic goes here
}
但我的功能一直被忽略。在它说的文档中,我的函数应该覆盖 $redirectTo
属性,但即使我删除它,它仍然会转到默认路由(“/home
”)。如果我更改属性值,它会将我重定向到正确的路径,但我的功能仍然会被忽略。
https://laravel.com/docs/5.3/authentication#included-authenticating
我的登录控制器如下所示:
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
use AuthenticatesUsers;
//protected $redirectTo = '/';
protected function redirectTo()
{
return redirect('admin/home');
}
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
}
编辑:如果我将我的函数命名为 authenticated()
而不是 redirectTo()
,它将按计划工作。
protected function redirectTo()
{
return redirect('admin/home');
}
Laravel 使用 RedirectUsers::redirectPath()
获取重定向路径。
它只检查 属性 redirectTo
.
如果您想应用自定义逻辑 - 只需覆盖控制器中的 redirectPath()
方法。
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
use AuthenticatesUsers;
//protected $redirectTo = '/';
public function redirectPath()
{
// ...
// custom logic here
// ...
return '/my/custom/url/here';
}
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
}
同样的方法适用于 RegisterController
和 ResetPasswordController
。