zoukankan      html  css  js  c++  java
  • 为lumen添加session支持

    为lumen添加session支持,同时配置全局函数csrf_token可用

     首先laravel和lumen框架的版本要一致,我这里版本都是5.4

    1.复制laravel框架config目录下的session.php到lumen框架config目录下

    2.修改bootstrap目录下的app.php

    添加

    //加载配置

    $app->configure('session');

     //注册中间件

    $app->middleware([
        IlluminateSessionMiddlewareStartSession::class,
        AppHttpMiddlewareVerifyCsrfToken::class,
    ]);

     //注册服务提供者

    $app->register(IlluminateSessionSessionServiceProvider::class);

     //添加全局函数csrf_token

    3.修改vendorlaravellumen-frameworksrchelpers.php


    添加(该函数从拷贝自laravel框架下vendorlaravelframeworksrcIlluminateFoundationhelpers.php)
    if (! function_exists('csrf_token')) {
    /**
    * Get the CSRF token value.
    *
    * @return string
    *
    * @throws RuntimeException
    */
    function csrf_token()
    {
        $session = app('session');

        if (isset($session)) {
            return $session->token();
        }

            throw new RuntimeException('Application session store not set.');
        }
    }

    4.添加文件appHttpMiddlewareVerifyCsrfToken.php拷贝自laravel
    appHttpMiddlewareVerifyCsrfToken.php

    5.添加文件vendorilluminatehttpMiddlewareVerifyCsrfToken.php拷贝自
    laravel框架vendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareVerifyCsrfToken.php
    该文件拷贝过去后需要修改命名空间,因为lumen下命名空间变化了


    6.修改vendorlaravellumen-frameworksrcApplication.php
    在方法
    registerContainerAliases中添加
    'IlluminateSessionSessionManager'=>'session',别名

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/dongruiha/p/6912445.html
Copyright © 2011-2022 走看看