【发布时间】:2018-12-13 09:29:18
【问题描述】:
我正在尝试在 laravel 5.2 中制作登录系统,我使用 put 方法存储会话数据。 这是我的登录控制器,我在 displayHome() 函数中存储会话数据
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\app_users;
use Redirect;
use Session;
use Crypt;
class login extends Controller
{
function displayHome(){
$request->session()->put('session_login',array('email'=>'someone@gmail.com','username'=>$'someone'));
//print_r(session('session_login')); die();
//`data session successfully stored `
}
}
我已经printr() 会话值。一切正常并存储会话。
但是当我重定向到另一个控制器时,会话失去了它的价值,这就是我重定向到另一个控制器的方式
return Redirect::to('members');
我的路线成员看起来像
Route::group(['module' => 'Members', 'middleware' => ['web'], 'namespace' => 'App\Modules\Members\Controllers'], function() {
Route::get('members','MembersController@index');
});
MembersController 看起来像
namespace App\Modules\Members\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
Use Redirect;
use Session;
class MembersController extends Controller
{
function index(){
//data session is empty
print_r(session()->get('session_login')); die();
}
}
我尝试在 index fuction() 中获取会话数据,结果为空。请给我正确的解决方案?
【问题讨论】:
-
(1)什么是会话存储? (2) laravel cookie 有吗?
-
@Bagus Tesa 21 我正在使用文件驱动程序。这是来自laravel.com/docs/5.6/session 的关于会话的用户指南
-
could you check on browser console 用于 laravel cookie (
laravel_session)?因为要将用户与会话联系起来,需要一个 cookie。如果 cookie 以某种方式丢失,则每个请求都可能呈现为新会话。 -
你试过laravel默认Auth系统吗?
-
@Alimin 我的错,你去吧....laravel.com/docs/5.2/authentication