Laravel:重定向登录并注册(如果已登录)?

时间:2019-07-04 10:38:41

标签: laravel

我正在努力获取登录/注册页面以重定向用户(如果已登录)。

在routes.php中

Route::group(array('before' => 'auth'), function()
{
    Route::get('hud', 'HomeController@index')->name('hud');
    Route::get('search', 'HomeController@search')->name('search');
    Route::get('profile', 'UsersController@index')->name('profile');
    Route::get('clients', 'ClientsController@index')->name('clients');
    Route::delete('clients/{id}', 'ClientsController@destroy');
    Route::resource('projects', 'ProjectsController', array('only' => array('show')));

});

我尝试过no_auth,但它只是中断了。我想念什么吗?

2 个答案:

答案 0 :(得分:0)

您应设置给定访问者经过身份验证的用户的重定向路径。

您可以在App\Http\Middleware\RedirectIfAuthenticated

中进行操作

示例:

public function handle($request, Closure $next)
{
    if ($this->auth->check()) {
        return redirect('/dashboard');
    }

    return $next($request);
}

Stackoverflow: laravel redirect if logged in

答案 1 :(得分:0)

每当他们尝试点击/login时,您都希望将已注册的用户重定向到首页。

这是laravel尝试实现的目标。

  1. 首先,这是通过App\Http\Middleware\RedirectIfAuthenticated实现的。

但是,此中间件的密钥已在数组guest下的文件app\Http\Kernel.php中注册到protected $routeMiddleware

  1. 然后在您的登录控制器中找到app\Http\Controllers\Auth\LoginController.php

construct方法中,我们有这样的内容:

class LoginController extends Controller
{
    use AuthenticatesUsers;

    protected $redirectTo = '/';

    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
}

相关问题