2016-02-07 231 views
0

我使用Laravel 5.2,并有一些麻烦与用户的登录:Laravel 5.2用户的登录

$email = $request->input('email'); 
$password = $request->input('password'); 

if (Auth::attempt(['email' => $email, 'password' => $password])) { 
    return redirect()->intended('admin/dashboard'); 
} 

问题: 下面的代码返回当前用户的电子邮件:

if (Auth::attempt(['email' => $email, 'password' => $password])) { 
    return Auth::user()->email; 
} 

而是在重定向的管理刀片模板中使用:Auth :: user() - > email我得到一个“错误异常” - 尝试获取非对象的属性。 Auth :: check()方法返回false。

我只有内部

Route::group(['middleware' => ['web']], function() { 
    // 
}); 

路线地方有访问会话的文档中读取。所以,我把管理员/仪表盘路线这条路线组

Route::group(['middleware' => ['web']], function() { 
    Route::get('admin/dashboard', '[email protected]'); 
}); 

现在我得到以下误差范围内:Container.php行702:“100”达到最大值函数嵌套层次,中止!任何想法为什么发生这种情况 谢谢

+0

一个问题,因为一个循环的这是可能的。您的路线说/管理员/仪表板转到您的管理控制器的索引方法。但是,在您的索引方法中(我认为)您正在尝试对用户进行身份验证,如果成功,您将它们重定向到管理员/仪表板 - 并且流程继续进行。 – Tom

回答

0

这种情况正在发生的xdebug.To解决去你的php.ini文件,并把此行

xdebug.max_nesting_level = 200 

使嵌套级别超过100或任何你想要的匿名嵌套层次want.If使用

xdebug.max_nesting_level = -1 
+0

当我添加xdebug.max_nesting_level = 200或xdebug.max_nesting_level = -1时,没有任何反应。任何想法为什么?我已经恢复了锻炼。谢谢 – Steve

0

你不需要

Route::group(['middleware' => ['web']], function() { 
    // 
}); 

所有航线在laravel 5.2里面进入web中间件; 看到这个Q? : Laravel 5.2 routes with web midellware


永远不会改变xdebug.max_nesting_level 如果nesting_level达到100套料,告诉你有一个与midellware的使用或类似的东西