Php 如何更改Laravel';s身份验证过滤器?

Php 如何更改Laravel';s身份验证过滤器?,php,laravel,laravel-4,Php,Laravel,Laravel 4,在控制器构造中使用beforeFilter(验证用户登录状态)时 $this->beforeFilter('auth', array('except' => array('login','handleLogin')); 它会自动将来宾重定向到 www.example.com/login 如何将重定向URL设置为: www.example.com/user/login 在你的app/filters.php中,你可以找到如下内容: Route::filter('auth', fu

在控制器构造中使用beforeFilter(验证用户登录状态)时

$this->beforeFilter('auth', array('except'  => array('login','handleLogin'));
它会自动将来宾重定向到

www.example.com/login
如何将重定向URL设置为:

www.example.com/user/login

在你的
app/filters.php
中,你可以找到如下内容:

Route::filter('auth', function($route, $request)
{
    if (Auth::guest()) return Redirect::guest('login');
});
您需要将
return Redirect::guest('login')
更改为:

return Redirect::guest('user/login');
拉威尔5.2 如果您使用的是Laravel 5.2,则需要在
app/Http/Middleware
文件夹中打开
Authenticate.php
,并将
guest
函数参数更改为您希望将其指向的URL路径:

return redirect()->guest('auth/login')

(清洁安装时的第24行)

拉威尔5.0 如果您使用的是Laravel 5.0,则需要在
Http/Middleware
文件夹中编辑
RedirectIfAuthenticated.php

更改以下行以满足您的需要:

返回新的重定向响应(url('/home')

对我来说,以下是我想要的:

返回新的重定向响应(url('/')

在Laravel 5中*

更改文件的内容 app/Http/Middleware/Authenticate.php

return redirect()->guest('auth/login')


return redirect()->guest('login')

我也在这上面浪费了几分钟的时间。我想将默认登录处理从
mysite.com/login
移动到
mysite/admin/login
,在想了想为什么这些解决方案都不起作用后(我一直被重定向到/login),我意识到这是因为login.blade.php视图文件(Laravel 5.3)中的这一行:

现在,表单的action属性将绑定到您在
Routes.php
中为
postlogin
命名路由指定的任何URL,即:

                <form class="form-horizontal" role="form" method="POST" action="{{ route('postlogin') }}">
    Route::post('login', ['as' => 'postlogin',  'uses' => 'AuthController@login'         ]);     

这对我不起作用。我必须在默认的AuthController中添加以下行:
protected$redirectPath='/'OP在验证用户之前询问重定向。但谷歌把我带到了这里,@D.Visser的提示正是我所需要的。我正在使用Laravel的安装程序默认设置的代码,我想在成功登录后重定向到
/
,而不是
/home
    Route::post('login', ['as' => 'postlogin',  'uses' => 'AuthController@login'         ]);