我正在努力获取登录/注册页面以重定向用户(如果已登录)。
在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,但它只是中断了。我想念什么吗?
答案 0 :(得分:0)
您应设置给定访问者经过身份验证的用户的重定向路径。
您可以在App\Http\Middleware\RedirectIfAuthenticated
示例:
public function handle($request, Closure $next)
{
if ($this->auth->check()) {
return redirect('/dashboard');
}
return $next($request);
}
答案 1 :(得分:0)
每当他们尝试点击/login
时,您都希望将已注册的用户重定向到首页。
这是laravel尝试实现的目标。
App\Http\Middleware\RedirectIfAuthenticated
实现的。但是,此中间件的密钥已在数组guest
下的文件app\Http\Kernel.php
中注册到protected $routeMiddleware
。
app\Http\Controllers\Auth\LoginController.php
在construct
方法中,我们有这样的内容:
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = '/';
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}