遵循本指南:https://www.youtube.com/watch?v=bqkt6eSsRZs&list=PL_UnIDIwT95NUvLU14l_QFFV2ZxO1phpQ&index=10
从laravel docs
添加了auth路由mkdir auth
chmod -R 777 auth
创建登录/注册视图
创建/家庭路线
自定义AuthController:
protected $redirectTo = 'home';
protected $redirectPath = 'home';
protected $loginPath = '/auth/login';
尝试访问auth / login时出现此错误:
Request.php第775行中的ErrorException:..会话存储未设置为
请求。
将auth路由移动到中间件组。
在db和会话文件中成功注册,创建了用户
更改了要检查的家庭路线是否已登录用户:
if(Auth::guest()) {
return Redirect::to('auth/login');
} else {
echo "welcome home";
}
去auth / logout然后回到home route,没有被重定向到登录页面而是重定向到站点的根目录 现在每当我进入auth / login时它也会将我重定向到根路径,所以我进入了隐身模式并进入了auth / login页面,它成功呈现并登录(在存储/框架/会话中创建了一个会话文件) )然后还将我重定向到根路径。
从之前的回答中我将其添加到我的auth控制器:
public function authenticated( $request, $user ) {
return redirect()->intended($this->redirectPath().'?success');
}
在正常模式(Chrome)中转到主页路径但在隐身模式下重定向到auth / login页面时仍然存在问题,并创建会话文件但在成功登录后仍会重定向到根路径。然后我在auth控制器中注释掉authenticated()方法,但问题仍然存在......
答案 0 :(得分:2)
如果您使用的是Laravel 5.2版本,那么您将需要使用Web中间件,在我的情况下,我有这个
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/home', 'HomeController@index');
});
对于版本Laravel版本5和5.1,您需要具有以下路线:
Route::controllers([
'auth' => 'Auth\AuthController'
]);