我为我的网站创建了一个身份验证。我发现,如果用户已登录,则由于他现在位于仪表板中,因此无法返回首页。在Stackoverflow的帮助下,我将生成的home.blade.php的所有内容更改为dashboard.blade.php,还更改了home的所有相关参考
现在我遇到了一个尴尬的错误。如果我从仪表板注销并希望重定向到http://localhost:8888/(welcome.blade.php),则会得到http://localhost:8888/login(login.blade.php)。
如果注销后单击左上角的navbrand,则更尴尬,我没有重定向到http://localhost:8888/,而是重定向到http://localhost:8888/login。
web.php
Route::group(array(['middleware'=>['guest']]), function(){
Route::get('/', function () {
return view('welcome');
});
});
Auth::routes();
// Only logged user
Route::group(array('middleware'=>'auth'), function(){
Route::get('/dashboard', 'DashboardController@index')->name('dashboard');
Route::get('/', function () {
return redirect('/dashboard');
});
});
LoginController.php
use Illuminate\Http\Request;
protected function loggedOut(Request $request) {
return redirect('/');
}
所以我不能放望远镜的图片,但我想我可以尝试用文字重新创建图片。
预期结果:我对HTTP状态了解不多,所以我总共赚了200
Verb| Path | Status
Here by '/' should be viewed welcome.blade.php
GET | / | 200
POST| /logout | 200
GET | /dashboard | 200
The user can't visit the Path '/' because he is now in dashboard website.
GET | / | 200
POST| /login | 200
实际结果:
Verb| Path | Status
GET | /login | 200
GET | / | 302
POST| /logout | 302
GET | /dashboard | 200
GET | / | 302
POST| /login | 302
如果你们有任何疑问并想再看几节课,请问我。我不知道与错误有关。我的想法主要是web.php路由错误。
最佳问候 托比亚斯
答案 0 :(得分:0)
您是否检查了控制器或预定房屋的路线。 例如在您的web.php中,我明白了,
Route::get('/', function () {
return view('welcome');
});
});
然后在身份验证路由中
Route::get('/', function () {
return redirect('/dashboard');
});
答案 1 :(得分:0)
错误是您使用同一条路线两次。
在web.php中重写代码:
Route::get('/', HomeController@index);
Auth::routes();`
// Only logged user
Route::group(array('middleware'=>'auth'), function(){
Route::get('/dashboard', 'DashboardController@index')->name('dashboard');
});
然后在HomeController中编写您的逻辑:
public function index()
{
return Auth::guest() ? view('welcome') : redirect('/dashboard');
}