php - Laravel 5.1 注册后 Auth::attempt no access to the user data on another page
问题描述
在系统上注册后,我在访问经过身份验证的用户数据时遇到问题。
在我的注册过程中进行一些验证后,我有这一行:
if (Auth::attempt(array(
'username' => $customer->username,
'password' => $data['password']
))) {
return redirect('profile-setup');
}
我已经尝试过在这个 if 语句中查看用户数据,如下所示:
dd(Auth::user());
这实际上有效,我可以看到用户数据。
但是,当我进入刀片配置文件设置时,我尝试了相同的模具,但我得到一个空值。
我不确定我错过了什么。
如果有什么需要我提供的,请告诉我。任何帮助都将不胜感激。
谢谢
解决方案
您可以查看您的案例中是否存在任何这种情况:
protected $primaryKey = 'user__table_id_column_name';
在用户模型中指定- 如果您在 larvel 的核心中看到方法签名,您将看到:
公共函数尝试(数组 $credentials = [],$remember = false,$login = true){ .. }
所以尝试传递第二个参数来尝试true
,看看它是否仍然存在。这不应该是这种情况,因为这应该自动发生,但为了安全起见尝试一次
- 如果您有任何用于调试,请删除 echo 语句
- 检查您是否在最后一个 dd 之前错误地调用了 Auth::logout()
- 尝试重定向()->预期('profile-setup');
如需更多帮助,请查看线程:Laravel Auth:attempt() will not persist login
推荐阅读
- zapier - Zapier API 配置:发送表单数据而不是 json 请求正文
- angular - 找不到“AppServerModule”的 NgModule 元数据
- android - Android TabLayout + ViewPager2 更改选项卡而不加载其间的所有选项卡
- date - 在 Chart.js 中设置 xAxes 标签以格式化 YYYY-MM-DD HH:mm:ss
- python - 在 Python 中使用 Fernet 的快速实现
- java - 使用 Spring Boot 和 Eureka Server 时如何修复错误 java.net.UnknownHostException?
- javascript - 如何声明“承诺”构造函数?
- python - 如何将 13 位 unix 纪元时间格式转换为日期时间?
- authentication - 在 Tomcat 中使用基于表单的身份验证的 Ember Web 应用程序
- laravel - 如何使用 Chart.js 在 Laravel 中传递数据