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.2 或 5.3:如何正确实施检查会话是不是已登录