【问题标题】:laravel cookies doesn't work after post data发布数据后 laravel cookie 不起作用
【发布时间】:2016-01-11 05:28:40
【问题描述】:

我正在使用 laravel 5.2,我想创建 REST api(简单,只需登录),我有这个代码:

Route::get('/login', function() {
    dd(Cookie::get('token'));
});

Route::post('/login', function () {
    $name = Request::get('login');
    $password = Request::get('password');
    if (!empty($name) && !empty($password)) {
        $user = App\User::where('name',$name)->first();
        if ($user)
        {
            if ($user->password === sha1($user->salt . $password))
            {
                $tokenCookie = Cookie::queue('token',sha1($user->name),10);
                return Response::make()->withCookie($tokenCookie);
            } else {
                echo 'nieprawidłowe hasło';
            }
        } else {
            echo 'brak konta w bazie danych';
        }
    } else {
        return 'brak danych';
    }
});

问题是 cookie 不起作用。我的意思是在我发送 POST 信息后一切正常(我没有任何回声,所以应该没问题)但是当我转到 /login 页面时,我有“空”响应。看起来 cookie 没有设置。帮忙?

【问题讨论】:

    标签: php laravel cookies laravel-5 laravel-5.2


    【解决方案1】:

    由于您使用的是 Laravel 5.2,因此您需要确保任何需要使用会话信息(例如 cookie)的路由都在 web 中间件组内。

    Route::group(['middleware' => ['web']], function () {
        Route::get('/login', function() {
            // code
        });
    
        Route::post('/login', function () {
            // code
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 2014-02-28
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      • 2019-01-27
      相关资源
      最近更新 更多