Laravel 5.3 登录成功后声明全局会话变量

Posted

技术标签:

【中文标题】Laravel 5.3 登录成功后声明全局会话变量【英文标题】:Laravel 5.3 Declare global session var after login success 【发布时间】:2017-06-01 04:21:30 【问题描述】:

我已经在我的网络应用程序上设置了身份验证登录,它可以正常工作。但是,在用户登录后,我想像这样设置一个全局变量:

// Store a piece of data in the session...
session(['key' => 'value']);

但是,对于用户成功登录后应该在哪里声明变量,我有点迷茫。

我应该在 app/http/controllers/auth/logincontroller.php 中这样做吗 文件?

【问题讨论】:

【参考方案1】:

在 Laravel 5.3 中,您可以覆盖 app\Http\Controllers\Auth\LoginController.php 中的 authenticated() 方法:

protected function authenticated()

    session(['key' => 'value']);

在 Laravel 5.2 中,您可以覆盖 app\Http\Controllers\Auth\LoginController.php 中的 login() 方法。

【讨论】:

传递给 App\Http\Controllers\Auth\LoginController::authenticated() 的参数 1 必须是 App\Http\Controllers\Auth\Request 的实例,给定的 Illuminate\Http\Request 实例,在第 103 行调用 /Applications/XAMPP/xamppfiles/htdocs/JT-APP/vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php 并定义

以上是关于Laravel 5.3 登录成功后声明全局会话变量的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.3记住我身份验证问题

Laravel 5.2 或 5.3:如何正确实施检查会话是不是已登录

任何想法如何使用 vue js 和 vue 路由器在 laravel 5.3 中进行基于会话的身份验证

在 laravel 5.3 中重定向回请求的页面

登录后在会话中存储变量

Laravel - 会话数据在注销/登录后仍然存在,即使对于不同的用户也是如此