fast-api/permission

v1.0.0 2021-04-08 05:57 UTC

This package is auto-updated.

Last update: 2024-03-23 17:17:41 UTC


README

fast-api-permission 是一个PHP RBAC处理和操作库,它提供了一种更容易表达的方式来创建,编辑和管理前后端分离API接口权限。该软件包包括用于轻松集成Laravel的ServiceProviders和Facades 。

更多功能可以参考下面的文档。

在Laravel应用程序中使用官方fast-api/permission客户端的简便方法。

安装与配置

Fast-php Cloud Fast-api/Permission SDK for Laravel

安装 Laravel

本产品依赖Laravel需要安装 Laravel laravel/laravel package via composer:

composer create-project --prefer-dist laravel/laravel laravel "7.30.0"

安装 权限扩展包

composer require fast-api/permission dev-master

配置 laravel env 文件

在按照上面建议的完成程序的安装之后,下面请配置数据库 通过添加以下内容到您的应用程序'.env文件(带有合适的值):

APP_URL 服务地址和端口: 项目访问地址,本地开发,参考设置(php artisan serve)终端执行打印信息。

APP_URL=http://localhost:8000

数据库:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=fast-api
DB_USERNAME=root
DB_PASSWORD=root

API前缀:

如果您曾经使用过API,就会知道大多数服务都是通过子域或前缀提供的。前缀或子域是必需的,但只有一个。避免将版本号作为前缀或子域,因为版本控制是通过Accept标头处理的。 您可以在.env文件中进行配置。

API_PREFIX=api

配置 laravel auth 文件

// Authentication Defaults
'defaults' => [
    'guard' => 'api',
    'passwords' => 'users',
]

// Authentication Guards
'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'jwt',
        'provider' => 'users',
        'hash' => false,
    ],
]

// User Providers
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => \Fast\Api\Permission\User::class,
    ],

    // 'users' => [
    //     'driver' => 'database',
    //     'table' => 'users',
    // ],
]

使用

发布配置 [JWT]

运行以下命令以发布程序包配置文件:

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

生成密钥

我提供了一个帮助程序命令,可以为您生成密钥:

php artisan jwt:secret

过期时间:

设置 JWT TOKEN 默认过期时间

您可以在.env文件中进行配置。

JWT_EXPIRR_IN = 1440

发布配置 [Captcha]

运行以下命令以发布程序包配置文件:

php artisan vendor:publish --provider="Mews\Captcha\CaptchaServiceProvider"

更新config/captcha.php文档配置:

'default' => [
    'length' => 4,
    'width' => 150,
    'height' => 47,
    'quality' => 50,
    'math' => false,
    'expire' => 60,
    'encrypt' => false,
]

发布配置 [Swagger]

php artisan vendor:publish --provider "L5Swagger\L5SwaggerServiceProvider"

更新config/l5-swagger.php文档配置:

包含权限扩展包文档路径,vendor/fast-api

/*
 * Absolute paths to directory containing the swagger annotations are stored.
*/
'annotations' => [
    base_path('app'),
    base_path('vendor/fast-api'),
]

.env 文件中配置Swagger参数。

L5_SWAGGER_GENERATE_ALWAYS=true
L5_SWAGGER_CONST_HOST=http://127.0.0.1:8000

数据迁移 [migrates]

运行以下命令以发布程序包配置文件:

php artisan migrate --path=vendor/fast-api/permission/database/migrations

生成数据 [seed]

运行以下命令导入权限数据到数据库:

php artisan db:seed --class=AdminUserSeeder

bug 建议 贡献和支持

请使用Github报告bug,并提出意见或建议。

请参阅CONTRIBUTING.md了解如何贡献更改。

启动

运行以下命令启动项目:

php artisan serve

API文档访问地址:

http://127.0.0.1:8000/api/documentation

文档

PHP开发技术交流(QQ群 368868750)

PHP开发技术交流 (SDK)

fast-api-permission 是基于laravel 7.x 封装,在做项目开发前,必需先阅读laravel官方文档。

演示

后台地址:https://fast-admin.dnat.link

账号: admin

密码: 123123

API文档:https://fast-api.dnat.link/api/documentation

完整项目

后台仓库地址:

Github

https://github.com/fast-oopdev/fast-admin.git

API仓库地址:

Github

https://github.com/fast-oopdev/fast-api.git

存储库

fast-api-permission 为开源项目,允许把它用于任何地方,不受任何约束,欢迎 fork 项目。

版权和许可

fast-api/permission was written by fast-php and is released under the MIT License.

Copyright (c) 2021 fast-php