Laravel 用户登录时如何设置会话变量

2024-04-07

发票应用程序开发正在使用 Laravel 进行。我为每个用户存储日期和金额格式settings table.

当用户登录自己的帐户时如何设置Session多变的?请提出任何建议。我正在使用 Laravel 5.3。


当然,文档告诉我们如何存储会话数据 https://laravel.com/docs/5.4/session#storing-data*,但他们没有解决OP关于存储会话数据的问题at login。您有几个选择,但我认为最清晰的方法是覆盖 AuthenticatesUsers 特征的经过身份验证的方法。

将覆盖添加到您的 LoginController:

/**
 * The user has been authenticated.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  mixed  $user
 * @return mixed
 */
protected function authenticated(Request $request, $user)
{
    $this->setUserSession($user);
}

然后您可以将会话设置为:

protected function setUserSession($user)
{
    session(
        [
            'last_invoiced_at' => $user->settings->last_invoiced_at,
            'total_amount_due' => $user->settings->total_amount_due
        ]
    );
}

如果您想更聪明一点,您可以为“登录”或“已验证”事件创建一个侦听器,并在其中之一发生时设置会话events https://laravel.com/docs/5.4/authentication#events* 火灾。

创建一个监听器,例如 SetUpUserSession:

<?php

namespace app\Listeners;

use Illuminate\Auth\Events\Login;

class SetUserSession
{
    /**
     * @param  Login $event
     * @return void
     */
    public function handle(Login $event)
    {
        session(
            [
                'last_invoiced_at' => $event->user->settings->last_invoiced_at, 
                'total_amount_due' => $event->user->settings->total_amount_due
            ]
        );
    }
}

*链接转到 5.4,但这与 5.3 相比没有变化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 用户登录时如何设置会话变量 的相关文章

  • 从 FilterControllerEvent 监听器重定向到另一个 Symfony 路由

    我正在尝试设置一个 kernel controller 侦听器 以便在函数返回 true 时重定向到另一个路由 我有可用的路线 但无法使用此路线设置控制器 event gt setController 我收到以下错误 FilterContr
  • cURL 错误 77:设置证书验证位置时出错:CAfile

    我正在使用 Firebase php SDKlink https firebase php readthedocs io en latest index html并在 Windows 10 上的 XAMPP 服务器上使用 laravel 最
  • 如何在MAMP中设置环境变量?

    如何在 MAMP 版本 3 3 中设置环境变量 我可以在我的 PHP 应用程序中使用它 我已经更新了 Applications MAMP Library bin envvars and envvars std file并添加以下行 Lice
  • 具有动态表单名称的 form_widget

    在我的 Twig 模板中 我有一个 FOR 循环 它创建多个表单 如下所示 for thing in things set form id myform thing Id set form name attribute form myfor
  • php 如何统计文件夹中的文件数量?

    我想让用户能够在自己的文件夹中上传一些文件 图片 但只有当该文件夹包含的图片少于五张时才可能 如果已经有 5 张图片 脚本必须让用户知道他 她的文件夹已满 所以 我想知道php中是否有函数可以计算文件夹中的文件数量 或者 php 中有其他方
  • 如何从导出的 csv 文件中删除双引号

    我正在使用 Laravel 5 8 并且添加了 Maatwebsite 包 用于从数据库表导出 CSV 文件 这是我导出的类 class ConfirmedExport implements FromCollection WithHeadi
  • 如何以编程方式获取 WooCommerce 中的所有产品?

    我想获取 WooCommerce 中的所有产品数据 产品 sku 名称 价格 库存数量 可用性等 我可以使用 wp query 来做到这一点吗 这样你就可以通过 wp query 获取所有产品 global wpdb all product
  • AWS S3 上传的图像已损坏

    我正在 AWS ec2 ubuntu 机器上工作 我的代码在 cakephp 中 当我尝试将任何图像上传到 AWS S3 时 它都会损坏 虽然它在核心 php 代码中运行良好 这是我的控制器代码 if this gt User gt sav
  • Laravel 按动态 ID 数组对集合进行排序 [重复]

    这个问题在这里已经有答案了 我有以下 people array 5 2 9 6 11 people collection People find people 但当我倾倒并死去时 people collection集合按 ID ASC 排序
  • PHP - hash_pbkdf2 函数

    我正在尝试使用此 php 函数执行一个函数来哈希密码 http be php net manual en function hash pbkdf2 php http be php net manual en function hash pb
  • PHP7构造函数类名

    我有一个 Laravel 4 2 应用程序 它可以与 PHP5 一起使用 没有任何问题 由于我安装了一个运行 PHP7 的新 vagrant box 一旦我运行一个模型 其中函数名称与类名称 关系函数 相同 就会出现错误 如下所示
  • 在 Woocommerce 购物车中设置最小小计金额

    我正在尝试将最低订单金额设置为 25 美元 到目前为止 我找到了这段代码 如果未达到最低限度 它似乎可以阻止结账 但它使用的小计包含税费 我需要在总计中排除税费 add action woocommerce checkout process
  • PHP中如何识别服务器IP地址

    PHP中如何识别服务器IP地址 对于服务器 ip 来说是这样的 SERVER SERVER ADDR 这是港口的 SERVER SERVER PORT
  • 如何在没有引用的情况下复制对象?

    PHP5 OOP 有据可查对象通过引用传递 http php net manual en language oop5 references php默认情况下 如果这是默认的 在我看来 有一种非默认的方式可以在没有参考的情况下进行复制 如何
  • postgreSQL 在 WAMP 上的集成

    我刚刚在 Windows 7 上安装了 postgreSQL 我正在尝试将 postgreSQL 与 WAMP 服务器集成 为此 我在 httpd conf 和 php ini 文件中进行了以下更改 1个加载模块c path to libp
  • 将数组拆分为特定数量的块

    我知道array chunk 允许将数组拆分为多个块 但块的数量根据元素的数量而变化 我需要的是始终将数组拆分为特定数量的数组 例如 4 个数组 以下代码将数组分为 3 个块 两个块各有 2 个元素 1 个块有 1 个元素 我想要的是将数组
  • 如何在html中制作多行类型的文本框?

  • 如何从字符串中删除所有数字?

    我想删除字符串 0 9 中的所有数字 我写了这段有效的代码 words preg replace 0 words remove numbers words preg replace 1 words remove numbers words
  • php下拉菜单人口

    我正在尝试编写一个 php 脚本 该脚本将根据主下拉菜单的选择填充第二个下拉菜单 我想使用 jquery 来完成所有非页面刷新的事情 但我发现现有的所有东西都很难理解和修改 你知道有什么写得很好且易于理解的东西吗 或者可能是现有的教程 下面
  • 文件修改时间检查的成本

    对于Linux下包含少量字节的文件 我只需要处理自上次处理以来发生更改的时间 我通过调用 PHP 检查文件是否被更改clearstatcache filemtime 定期 由于整个文件总是很小 因此删除对 filemtime 的调用并通过将

随机推荐

  • 在 C# 中使用全局热键捕获按键

    我有一个在后台运行的应用程序 就像我可以将我的应用程序保留在系统托盘中一样 如果它保留在系统托盘上 我的应用程序将完成它的工作 每当用户按下 F10 或 F9 时 就会完成一些工作 我试过这个 public partial class Fo
  • 未使用的indexeddb数据库是如何清理的

    我使用 IndexedDB 作为本地存储 并且运行良好 由于过于详细的原因 这里无法详细介绍 我经常只创建一个数据库并使用它 但在某些情况下 我需要创建更多数据库 在其中一些情况下 这些额外的数据库可能最终会 孤立 或未使用 并且将来不再需
  • ViewStub'父视图组

    该异常的含义是什么 ava lang IllegalStateException ViewStub 必须有一个非空 ViewGroup viewParent 我正在创建一个视图存根数组并将它们添加到线性布局中 但此异常在运行时显示 for
  • 将数组注释与指针一起使用

    我目前无法理解以下场景 我有一个多维字符串数组 我想仅使用指针来解决它 但在指针上使用数组注释时我总是遇到分段错误 这只是一个示例代码 我想在 pthread 中使用 3D 数组 因此我想通过结构将其作为指针传递 但它不起作用 我想知道为什
  • Three.js 支持波斯语/阿拉伯语文本

    我需要以波斯语 阿拉伯语显示一些文本 我加载了包含字符的字体 并使用 TextGeometry 在场景上创建文本 var loader new THREE FontLoader loader load B Zar Regular js fu
  • 反汇编 Microsoft Visual Studio 2003 编译器输出

    我发现 Microsoft Visual Studio 2003 工具输出的对象文件出现了奇怪的行为 这file实用程序告诉我 asmfile obj 80386 COFF executable not stripped version 3
  • 从 java 执行 PostgreSQL 匿名块

    你好 我有 PostgreSQL 一个匿名块 例如 DATA 是 java 中的一个字符串变量 其中我的匿名块 DO DECLARE new issue text BEGIN new issue UPDATE FORM9902 SET HA
  • 使用 javascript 使复选框表现得像单选按钮

    我需要使用 javascript 操作复选框的行为 它们基本上应该像单选按钮一样 一次只能选择一个 并且取消选择任何先前的选择 问题是我首先不能使用普通的单选按钮 因为每个单选按钮的名称属性都会不同 I know它不是使苹果看起来像梨的最终
  • 项目结算经理与结算帐户用户 GCP

    计费帐户用户或项目计费经理可以创建计费帐户吗 据我了解 用户可以将项目链接到计费帐户 但无法取消链接 而经理可以将项目链接到计费帐户或从计费帐户取消链接 计费帐户用户或项目计费经理可以创建计费帐户吗 不完全是 让我向您介绍一下 Google
  • 如何在输入中添加 SVG 图标?

    我需要在输入中放置图标以创建新用户 对于了解前端代码的人来说 这可能是一项非常简单的任务 但我不这么认为 这是线框 然后我展示我的代码 线框 如你看到的 输入的左侧有图标 现在我的目录中有 SVG 并准备好了 我只需要知道如何将它们放置在输
  • PHP:从递归函数返回一个数组

    我有一个像这样的数组 SimpleXMLElement Object BrowseNodes gt SimpleXMLElement Object BrowseNode gt SimpleXMLElement Object BrowseNo
  • 使用fread读取带有双引号和不正确转义字符的数据

    我尝试使用以下命令加载大型数据文件 约 2000 万行 fread 来自数据表包裹 然而 有些行却造成了很大的麻烦 最小的例子 text csv contains id text 1 Oops The Georgia fread text
  • jQuery UI 仅在特殊区域删除元素

    我对 jQuery UI 的拖放有疑问 我创建动态的新元素 并将其放置在屏幕上的四个区域之一 这些元素是可拖动的 我可以将它们放置在整个屏幕上 但我希望这些元素只能放置在三个区域之一 我在这里创建了一个完整的工作示例 http jsbin
  • 如何在 Java 中格式化数字?

    如何在 Java 中格式化数字 什么是 最佳实践 在格式化之前我需要对数字进行四舍五入吗 32 302342342342343 gt 32 30 7323 gt 0 73 etc From 这个线程 http bytes com forum
  • RHEL w/Tkinter & Python3 - 更改活动名称“Tk”

    我正在尝试为 Tkinter 应用程序设置 Activity 不确定正确的术语 请参阅屏幕截图 名称 我不是 Linux 专家 新手 甚至不是初学者 但是关于对话框的系统将我的测试机器列为 Fedora 30 窗口管理器是 Gnome 代码
  • C#中如何检查组合框中的项目是否被选中?

    我有一个组合框 必须在其中显示数据库中的日期 用户必须从组合框中选择一个日期才能进一步进行 但我不知道如何让用户意识到首先从组合框中选择该项目才能进一步进行 如果用户没有从组合中选择日期 应该遵循什么流程才能收到消息 if string I
  • WPF ToggleButton 不正确的呈现行为

    这是怎么回事 如何解决 按我的切换按钮 现在看起来就像立即按下 选中 同时 MyToggleButton Checked 处理程序禁用 MyToggleButton 现在按非切换按钮 启用 我们看到什么 MyToggleButton 看起来
  • 对于具有默认分配器的标准容器,std::container::size_type 是否保证为 size_t?

    Like std string
  • TFS2018 是否仍支持 ISubscriber?

    截至 TFS 2017 Plugins 文件夹中有一个名为 Microsoft TeamFoundation Framework Server 的库 它包含 ISubscriber 接口 可以覆盖该接口以附加挂钩并添加事件行为 例如构建完成
  • Laravel 用户登录时如何设置会话变量

    发票应用程序开发正在使用 Laravel 进行 我为每个用户存储日期和金额格式settings table 当用户登录自己的帐户时如何设置Session多变的 请提出任何建议 我正在使用 Laravel 5 3 当然 文档告诉我们如何存储会