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',别名

  • 相关阅读:
    cocos2d-x编译到android平台后,增加返回键和菜单键支持
    Android 网络权限配置
    Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
    Andorid第三方库
    JS计算字符串长度(中文算2个)
    JSP table中除了第一行(标题)其他全清空
    [转]整理jquery开发技巧
    [转]整理jquery使用好习惯
    把对象转换成map
    Java ZIP打包
  • 原文地址:https://www.cnblogs.com/dongruiha/p/6912445.html
Copyright © 2011-2022 走看看