laravel - 如何在 laravel 5 的所有 Controller 和 View 页面中使用 token 号?

标签 laravel laravel-5

<分区>

实际上,我正在尝试设置全局变量。我的场景是当我使用 laravel 5 框架登录时。我不想在任何 Controller 和 View 页面中使用身份验证电子邮件。我想使用由注册页面而不是身份验证电子邮件创建的 token 号。所以请为这种情况提供一些提示或想法。

最佳答案

如果您在 AppServiceProvider 启动方法中生成 token 后将生成的 token 存储在用户身上,则应该可以正常工作:

 <?php
// app/Providers/AppServiceProvider.php

//...

class AppServiceProvider extends ServiceProvider
{

    //...

    public function boot()
    {
        view()->composer('*', function($view) {

            if(auth()->user()) {

            $user = auth()->user();
            $token = $user->token;

            view()->share("user_token", $token);

            $this->app->singleton('user_token', function () {
                return $token;
            });

        }

        });

    }
}

获取 View 中的数据:

{{ $user_token }}

在 Controller 中:

app('user_token');

关于laravel - 如何在 laravel 5 的所有 Controller 和 View 页面中使用 token 号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44498262/

相关文章:

laravel - 在 Laravel 中测试多授权

laravel - 如何创建仅用于测试的 Laravel 路由(phpunit)?

laravel - 限速自由文本搜索

php - Laravel 5.1 用户输入文本中的链接/可点击链接

拉拉维尔 : How to copy a mysql table structure with DB?

php - Laravel 5 在 AbstractProvider.php 中获取 InvalidStateException

php - 在 Laravel 5.1 中获取过滤和关联的记录

laravel - 如何在 Laravel Mix 中使用 FullCalendar

php - 如何在 PHP 或 Laravel 中访问 JsonResponse 对象中的属性值?

Laravel updateOrCreate 函数不更新自定义时间戳