我正在尝试从Laravel-7全局中间件中的Config或会话变量中检索值,但它不起作用。这些值是在登录控制器中设置的。我试过了
info(Config::get("database.connections.mysql.userdb","nil"));
info(Session::get("selected_database"));有人可以帮助我如何从配置或会话或全局中间件中的任何其他全局变量中获取值。该值需要在登录时设置一次,并在每次请求时在Global Middleware中使用。
发布于 2020-06-21 18:58:36
将StartSession从MiddlewareGroup移植到Kernal.php中的中间件解决了这个问题。但我不确定这是不是正确的方式。有谁能详细解释一下。这是Kernel.php
protected $middleware = [
\Illuminate\Session\Middleware\StartSession::class, //moved from middlewareGroups
\App\Http\Middleware\SelectDB::class,
\App\Http\Middleware\TrustProxies::class,
\Fruitcake\Cors\HandleCors::class,
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];发布于 2021-11-25 15:46:54
当我想在中间件中使用会话时,我也遇到了同样的问题。问题是我将我的中间件添加到内核的$middleware中。
但是最终我发现$middleware中的会话是不可访问的,你必须将你的中间件添加到$middlewareGroups中的“web”键中。
发布于 2020-06-21 13:55:30
您可以通过如下方式设置session :如果使用Session类,则从以下位置导入:
use Illuminate\Support\Facades\Session;
Session::put('key', 'value');或
session(['key' => 'value']);并通过如下方式获取会话:
$value = Session::get('key');或
$value = session('key');我希望对你有用
https://stackoverflow.com/questions/62494882
复制相似问题