如果尝试进入登录屏幕,Laravel 5将重定向到主页

时间:2015-09-06 14:38:26

标签: php laravel routing laravel-5

我有一个登录界面,这是基本网址(www.mysite.com /)。

当用户登录时,他们会被重定向到他们的主页(/ home)。

但如果他们转到根目录,仍然可以返回登录页面。

如何登录这些用户如果登录后会被发送回主页(如果他们不是,他们当然会看到登录页面)?

5 个答案:

答案 0 :(得分:6)

我在路由器中这样做了,虽然我不确定它是否是最好的解决方案:

Route::get('/', function () {
    if(Auth::check()) {
        return redirect('/dashboard');
    } else {
        return view('auth.login');
    }
});

答案 1 :(得分:4)

你应该使用中间件。

Laravel 5已经有一位客人'您可以使用的中间件开箱即用,所以只需执行以下操作即可:

Route::get('/', ['middleware' =>'guest', function(){
  return view('auth.login');
}]);

然后在中间件文件App\Http\Middleware\RedirectIfAuthenticated中,您可以指定用户重定向到的位置。

默认值为/home

答案 2 :(得分:2)

  

当用户成功通过身份验证后,他们将被重定向到   / home URI,您需要注册要处理的路由。您   可以通过定义一个来自定义后验证重定向位置   AuthController上的redirectPath属性:

您的AuthController中的

更改了redirectPath属性

protected $redirectPath = '/dashboard';

http://laravel.com/docs/5.1/authentication#Authenticating

答案 3 :(得分:2)

在我的情况下,我必须删除浏览器中的cookie才能修复/ login重定向。

答案 4 :(得分:0)

在我的情况下,我按如下所示编辑了HomeController的构造并工作:

div{
  width:300px;
  height:200px;
  background: green;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus {
  border:1px inset;
}