【发布时间】:2016-04-03 13:42:03
【问题描述】:
遵循本指南:https://www.youtube.com/watch?v=bqkt6eSsRZs&list=PL_UnIDIwT95NUvLU14l_QFFV2ZxO1phpQ&index=10
添加了来自 laravel 文档的 auth 路由
mkdir auth
chmod -R 777 auth
创建登录/注册视图
创建 /home 路线
自定义 AuthController:
protected $redirectTo = 'home';
protected $redirectPath = 'home';
protected $loginPath = '/auth/login';
尝试访问身份验证/登录时出现此错误:
Request.php 第 775 行中的 ErrorException:.. 未设置会话存储
请求。
将身份验证路由移至中间件组。
成功注册,在db和sessions文件中创建用户
更改回家路线以检查用户是否已登录:
if(Auth::guest()) {
return Redirect::to('auth/login');
} else {
echo "welcome home";
}
去 auth/logout 然后回到主路由,没有重定向到登录页面,而是重定向到站点的根目录 现在,每当我进入 auth/login 时,它也会将我重定向到根路径,所以我进入隐身模式并进入 auth/login 页面,它成功呈现并让我登录(在 storage/framework/sessions 中创建了一个会话文件) 但随后也将我重定向到根路径。
根据之前的回答,我将其添加到我的身份验证控制器中:
public function authenticated( $request, $user ) {
return redirect()->intended($this->redirectPath().'?success');
}
在正常模式(Chrome)下返回主路由时问题仍然存在,但在隐身模式下重定向到身份验证/登录页面,并创建会话文件但在成功登录后仍重定向到根路径。然后我在 auth 控制器中注释掉了 authenticated() 方法,但问题仍然存在......
【问题讨论】:
-
首先,请正确格式化您的问题
-
您是否将身份验证中间件附加到您的路由?
-
不,我没有附加身份验证中间件,我只是按照那个教程来获得基本身份验证工作
标签: php laravel session authentication redirect