在Controller __construct
中使用beforeFilter(以验证用户登录状态)时$this->beforeFilter('auth', array('except' => array('login','handleLogin'));
它会自动将访客重定向到
www.example.com/login
如何将重定向网址设置为:
www.example.com/user/login
答案 0 :(得分:4)
在您的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');
答案 1 :(得分:2)
如果您使用的是Laravel 5.2,则需要在Authenticate.php
文件夹中打开app/Http/Middleware
,然后将guest
功能参数更改为您希望将其引导至的路径:
return redirect()->guest('auth/login')
(在清洁安装时写入第24行)
如果您使用的是Laravel 5.0,则需要修改RedirectIfAuthenticated.php
文件夹中的Http/Middleware
。
更改以下行以满足您的需求:
return new RedirectResponse(url('/home'));
例如。对我来说,以下是我想要的:
return new RedirectResponse(url('/'));
答案 2 :(得分:0)
在Laravel 5。*
更改文件的内容 应用程序/ HTTP /中间件/ Authenticate.php
return redirect()->guest('auth/login');
到
return redirect()->guest('login');
答案 3 :(得分:0)
我也浪费了几分钟的时间。我想将默认登录处理从mysite.com/login
移到mysite/admin/login
,并在想知道为什么没有解决方案正常工作(我一直被重定向到/ login)后我意识到这是因为这个login.blade.php视图文件中的行(Laravel 5.3):
<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
对于开发人员来说,这是一个轻微的疏忽,尽管所有这些有线的聪明,他们仍然愚蠢到将此URL硬编码到视图模板中......这一行应该真正指定&#39; postlogin&#39; Routes.php
中的命名路径,即:
<form class="form-horizontal" role="form" method="POST" action="{{ route('postlogin') }}">
现在,您的表单的操作属性将绑定到您在postlogin
中为Routes.php
命名路由指定的任何网址,即:
Route::post('login', ['as' => 'postlogin', 'uses' => 'AuthController@login' ]);