Authentication 成功身份验证后无法检索Laravel 5用户

Authentication 成功身份验证后无法检索Laravel 5用户,authentication,laravel-5,Authentication,Laravel 5,我正在使用Laravel5.1并尝试实现用户身份验证。基本上,没有登录,任何路线都不能进入。 内置特征(AuthenticatesAndRegistersUsers)无法正常工作,因为在成功验证后,重定向控制器将无法通过Auth::user()或$this->Auth->user或$request->user()拉出用户 我确实在$this->auth->trunt()之后通过var转储用户验证了这是一次成功的尝试 但是,在使用return redirect()->designed(…)进行重定

我正在使用Laravel5.1并尝试实现用户身份验证。基本上,没有登录,任何路线都不能进入。 内置特征(
AuthenticatesAndRegistersUsers
)无法正常工作,因为在成功验证后,重定向控制器将无法通过
Auth::user()
$this->Auth->user
$request->user()
拉出用户

我确实在
$this->auth->trunt()
之后通过var转储用户验证了这是一次成功的尝试

但是,在使用
return redirect()->designed(…)
进行重定向后,无法提取任何用户

我现在试图通过跳过
AuthenticatesAndRegistersUsers
并直接将其写入
AuthController
来实现它,但再次遇到同样的问题

这是
AuthController
中执行验证的部分:

$this->validate($request, [
    'email'    => 'required|email',
    'password' => 'required',
]);

$credentials = $request->only('email', 'password');

//attempt to authenticate
//if successful, redirect to the intended url or the default redirectPath
if ($this->auth->attempt($credentials, $request->has('remember')))
{
    //when I do dd($this->auth->user()) here it shows the correct user record
    return redirect()->intended($this->redirectPath);
}
它重定向到正确的url(
HomeController
),但随后无法检索用户(在
show
方法或任何其他方法中):

HomeController
扩展了使用
auth
中间件的my
BaseController

public function __construct()
{
    $this->middleware('auth');
}
我有Laravel4自定义身份验证,一切都很好,我对Laravel5中的中间件身份验证概念还是新手

任何帮助都将不胜感激。

如何使用Laravel 5.1中的内置身份验证

Laravel5.1具有内置的身份验证功能,几乎可以开箱即用

要做的步骤很少,因此您将能够在Laravel5.1中使用漂亮的默认内置身份验证模板。所以你不需要再像Laravel4.0那样发明轮子了

1-安装Laravel的新副本(如下所示)我只需使用此命令即可完成
composer创建项目laravel/laravel——首选dist

2-在视图
resources\views\auth
中创建
auth
文件夹,并将所有资源文件从

3-在
public
文件夹中创建
css
font
文件夹,并从资源中复制这两个文件夹的内容

4-更新您的路线文件,如下所示

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);
关于

5-在MySQL中创建空数据库

6-使用数据库信息等更新
.env
文件

7-运行php artisan迁移

8-进入浏览器并写入
http://YourLaravelHostProject/auth/register

9-(可选)如果您想在登录/注册过程后更改
/home
登录页,请在
app\Http\Controllers\Auth
中编辑
AuthController.php

在这条线之后

use AuthenticatesAndRegistersUsers, ThrottlesLogins;
将代码添加到您的位置

//forward after login
protected $redirectPath = '/YourLocation'; 
就是这样。现在,默认的登录/注册/重置密码模板开始工作。您可以修改它以供进一步使用

php artisan迁移结果

登录页面的浏览器快照

也可以通过遵循Laravel文档制作更简单的身份验证模板


Laravel身份验证文档

Yani您不需要像Laravel 4那样实现,它具有内置身份验证,您可以使用。我会把答案填好。但是,使用内置的Laravel 5功能会导致错误。可能是移民问题。目前,如果我尝试你的建议,我会得到
无法重新声明class illumed\Container\BindingResolutionException
错误,我检查了1000次,但只减速了一次。我将尝试安装一个新的laravel项目。是的,我认为这应该会有帮助,你可能在这期间做了一些事情。我还遇到了另一个迁移问题,与artisan命令失败有关,因此我认为最好重新安装。我可能从4.2开始就搞砸了。将在安装后重试。我已使用正确的步骤更新了答案,以便您可以使用登录模板。让我知道plsAny process@Yani,丹麦已经很晚了,现在要睡觉了,希望一切都按计划进行:)砰的一声,问题也来了。戈尼特。
//forward after login
protected $redirectPath = '/YourLocation';