Laravel 5.1 会话不工作
Laravel 5.1 Sessions not working
我有新鲜的 Laravel 5.1 分发。
我开始的第一件事是扩展 Guard
class 以实现我自己的身份验证驱动程序。我真的是 Laravel 的新手。所以,这是我到目前为止所做的。
config/auth.php
'driver' => 'crm',
Providers/AuthServiceProvider.php
public function boot(GateContract $gate)
{
Auth::extend(
'crm',
function ($app) {
$model = $app['config']['auth.model'];
$provider = new EloquentUserProvider($app['hash'], $model);
return new CrmGuard($provider, $app->make('session.store'));
}
);
}
目前,我已经有一个用户 ID,存储在会话数组中,我可以通过
访问它
session_start();
$_SESSION['user_id'];
但我想在会话管理中使用 Laravel 构建。
我正在尝试在我的 CrmGuard
class 中重写 Guard
class 的 user
方法,我需要从会话中获取这些值,我正在尝试这样
$id = $this->session->get('user_id');
等等
session('user_id')
这是我在测试时尝试调用 user
方法的方式
Route::get('/', function () {
\Illuminate\Support\Facades\Auth::user();
//return view('welcome');
});
但是它总是returnNULL,我做错了什么?谢谢。
Laravel 的会话驱动程序与 PHP 会话有一点不同,因此它不会以这种方式工作:
session_start();
$_SESSION['user_id'];
默认情况下(您可以更改此驱动程序)它存储在文件(服务器端)中,并且只是公开(向客户端)请求。不要使用 PHP 会话,而是将 Laravel 的会话内置驱动程序与 \Session::get()
和 Session::put()
一起使用,您可以在此处阅读:
我有新鲜的 Laravel 5.1 分发。
我开始的第一件事是扩展 Guard
class 以实现我自己的身份验证驱动程序。我真的是 Laravel 的新手。所以,这是我到目前为止所做的。
config/auth.php
'driver' => 'crm',
Providers/AuthServiceProvider.php
public function boot(GateContract $gate)
{
Auth::extend(
'crm',
function ($app) {
$model = $app['config']['auth.model'];
$provider = new EloquentUserProvider($app['hash'], $model);
return new CrmGuard($provider, $app->make('session.store'));
}
);
}
目前,我已经有一个用户 ID,存储在会话数组中,我可以通过
访问它session_start();
$_SESSION['user_id'];
但我想在会话管理中使用 Laravel 构建。
我正在尝试在我的 CrmGuard
class 中重写 Guard
class 的 user
方法,我需要从会话中获取这些值,我正在尝试这样
$id = $this->session->get('user_id');
等等
session('user_id')
这是我在测试时尝试调用 user
方法的方式
Route::get('/', function () {
\Illuminate\Support\Facades\Auth::user();
//return view('welcome');
});
但是它总是returnNULL,我做错了什么?谢谢。
Laravel 的会话驱动程序与 PHP 会话有一点不同,因此它不会以这种方式工作:
session_start();
$_SESSION['user_id'];
默认情况下(您可以更改此驱动程序)它存储在文件(服务器端)中,并且只是公开(向客户端)请求。不要使用 PHP 会话,而是将 Laravel 的会话内置驱动程序与 \Session::get()
和 Session::put()
一起使用,您可以在此处阅读: