laravel - 如何从我的登录控制器中获取一个变量以供 Laravel 中的所有视图使用?
问题描述
我是编码新手,我正在构建我的第一个使用 EVE Online ESI API 的真实应用程序。我设置了一个登录控制器,将用户重定向到 ESI 以登录并处理回调。到目前为止,我可以成功地将用户名、令牌等数据连接并检索到登录控制器中的变量中,并且可以立即将该变量传递给视图。我的问题是弄清楚如何使该变量可用于所有视图。
我试过使用 View::share('user',$user); 在登录控制器中,但它不起作用。
在我的 web.php 中,我有这些路线:
Route::get('login/eveonline', 'EVELoginController@redirectToProvider');
Route::get('login/eveonline/callback', 'EVELoginController@handleProviderCallback');
我的 EVELoginController.php 文件中有这个:
<?php
namespace App\Http\Controllers;
use Socialite;
use Laravel\Socialite\Two\User;
use View;
class EVELoginController extends Controller {
/*
| Redirect the user to the EVE online authentication page.
|
| @return \Illuminate\Http\Response
*/
public function redirectToProvider() {
return Socialite::driver('eveonline')->redirect();
}
/*
| Obtain the user information from EVEOnline.
|
| @return \Illuminate\Http\Response
|
*/
public function handleProviderCallback() {
$user = Socialite::driver('eveonline')->stateless()->user();
return View::make('successful-eve-login',$user);
}
}
使用此代码,视图获取变量,我可以在视图的 HTML 中使用它。但是该变量不会存储在任何地方,以便以后可以由其他视图检索。将数据导入其他视图的最佳方法是什么?原谅我是个菜鸟,但我正在努力。
解决方案
推荐阅读
- r - 为什么在使用列调用 `separate` 函数时出现错误?
- angular - 在 Angular V8 中构建 Web Worker 时找不到核心 Angular 对象
- modx - Modx cms:我需要将电子邮件确认更改为短信
- node.js - aws lambda 无法从另一个 vpc 调用 web 服务
- android - ActivityManager:从系统 2447:com.android.phone/1001 pkg com.android.phone 发送不受保护的广播 android.intent.action.MCC_CHANGED
- java - 找不到 com.makeraman:roundedimageview:2.3.0。要求:项目:app
- javascript - 如何避免 UglifyJS 在通过 html-minifier 忽略 Handlebars 占位符后添加额外的分号
- c# - 如何在文本块周围设置图像位置
- c# - 绑定对象列表时如何定义Column的类型(如超链接)?
- microsoft-graph-api - 自动开始在线会议 - Microsoft Teams