Laravel 5.1 注册后 Auth::attempt no access to the user data on another page

Posted

技术标签:

【中文标题】Laravel 5.1 注册后 Auth::attempt no access to the user data on another page【英文标题】:Laravel 5.1 after Registration Auth::attempt no access to the user data on another page 【发布时间】:2019-06-27 16:12:39 【问题描述】:

在系统上注册后,我在访问经过身份验证的用户数据时遇到问题。

在我的注册过程中进行一些验证后,我有这行:

if (Auth::attempt(array(
        'username' => $customer->username,
        'password' => $data['password']
    ))) 
        return redirect('profile-setup');
    

我已经尝试过在这个 if 语句中查看用户数据,如下所示:

dd(Auth::user());

这确实有效,我可以看到用户数据。

但是,当我进入刀片配置文件设置时,我尝试了相同的模具,但我得到一个空值。

我不确定自己错过了什么。

如果有什么需要我提供的,请告诉我。任何帮助都将不胜感激。

谢谢

【问题讨论】:

【参考方案1】:

您可以查看您的案例中是否存在任何这些:

在用户模型中指定protected $primaryKey = 'user__table_id_column_name'; 如果您在 larvel 的核心中看到方法签名,您将看到:

公共函数尝试(数组 $credentials = [],$remember = false,$login = true) ..

所以尝试将第二个参数传递给true,看看它是否仍然存在。这不应该是这种情况,因为这应该自动发生,但为了安全起见尝试一次

如果您有任何用于调试的 echo 语句,请删除 检查您是否在最后一个 dd 之前错误地调用了 Auth::logout() 试试redirect()->intended('profile-setup');

如需更多帮助,请查看帖子:Laravel Auth:attempt() will not persist login

【讨论】:

以上是关于Laravel 5.1 注册后 Auth::attempt no access to the user data on another page的主要内容,如果未能解决你的问题,请参考以下文章

如何在注册期间为用户分配角色? (委托)(Laravel 5.1)

Laravel 5.1 - 注册用户时应用重定向到 /dashboard 但不检查帐户是不是已确认

Laravel 5.1 auth 刷新后注销

从 Laravel 5.1 升级到 Laravel 5.8 后 whereHas() 变慢

Laravel 5.1-5.8 中以前的路线名称

Laravel 5.1 Php artisan 命令在作曲家更新后不起作用