一、准备工作
1、Lumen环境搭建
可参考上篇文章《Lumen安装配置使用入门》一文。
2、数据库信息
数据库地址:localhost
数据库名称:lumenauth
数据库用户:root
数据库密码:******
二、初始化Lumen
lumen new LumenAuth
三、配置
1、数据库配置
在命令行进入项目所在文件夹,执行命令:
copy .env.example .env
用文本编辑器打开.env文件,根据之前准备的数据库信息作相应修改。
---------------------------------------
LumenAuth\.env
---------------------------------------
APP_ENV=local
APP_DEBUG=true
APP_KEY=
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=lumenauth
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=memcached
QUEUE_DRIVER=sync
---------------------------------------
2、认证及修改生效配置
打开项目文件夹LumenAuth\bootstrap\app.php文件,我们将在这里作几处修改。
(1)配置修改生效设置
首先,把以下两行代码取消注释,让数据库信息和认证服务修改可以生效。
$app->withFacades();
$app->withEloquent();
(2)认证中间件注册
参照LumenAuth\bootstrap\app.php文件中”Register Middleware” 部分的中间件注册代码,在它下面注册一个认证路由中间件,这个路由中间件需要我们后面在LumenAuth\app\Http\Middleware文件夹中自定义,我们这里先做配置,后面进行代码实现。注册中间件使用以下代码:
$app->routeMiddleware([
'authToken' => App\Http\Middleware\AuthToken::class,
]);
(3)开启注册服务提供者
认证中间件的生效还需要注册服务提供者支持,在LumenAuth\bootstrap\app.php文件下面把以下两行代码的注释去掉即可开启注册服务提供者:
$app->register(App\Providers\AppServiceProvider::class);
$app->register(App\Providers\AuthServiceProvider::class);
最后,LumenAuth\bootstrap\app.php文件有效代码如下:
---------------------------------------
LumenAuth\bootstrap\app.php
---------------------------------------
<?php
require_once __DIR__.'/../vendor/autoload.php';
try {
(new Dotenv\Dotenv(__DIR__.'/../'))->load();
} catch (Dotenv\Exception\InvalidPathException $e) {
//
}
$app = new Laravel\Lumen\Application(
realpath(__DIR__.'/../')
);
$app->withFacades();
$app->withEloquent();
$app->singleton(