如影随形

影子是一个会撒谎的精灵,它在虚空中流浪和等待被发现之间;在存在与不存在之间....

您现在的位置是:首页>laravel

在laravel中配置session,并且api中使用

发布时间:2018-05-03编辑:wk 浏览(714)

    在laravel中使用session一般是在web中使用,当在laravel中的api中使用session的时候需要在路由文件api.php中写入路由

     

    $api = app('Dingo\Api\Routing\Router');

    $api->version('v1', ['namespace'=>'App\Http\Controllers\Api','group'=>['middleware'=>['web']]], function ($api) {
       
    $api->get('user', 'UserController@index');
       
    $api->get('login', 'UserController@home');
       
    $api->get('get', 'UserController@gethome');
    });

     

    或者


    Route::
    group(['middleware'=>['web']],function () {//api中如果您需要会话状态,CSRF保护等,则需要使用Web中间件。
       
    Route::any('loginapi','Api\houseapiController@loginuse');//登录

    });
     

    这样在api中就可以使用session但是想在web中使用api中设置的session这还不够

    需要配置app-Http-Kernel.php中的   $middleware中加入

    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,

     image.png



    注:当laravel提示Session store not set on request.时也可以这样设置Kernel.php的middleware

    这样设置的session是全局的,基于laravel5.5+


关键字词:laravel session 接口