甜1s / moonshine-database
Moonshine 数据库
1.0.0
2023-08-05 17:55 UTC
Requires
- php: ^8.0|^8.1|^8.2
- ext-curl: *
- ext-json: *
Requires (Dev)
- brianium/paratest: ^6.8
- mockery/mockery: ^1.4.4
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0
- phpstan/phpstan: ^1.4.7
- phpunit/phpunit: ^9.5.8
Conflicts
- moonshine/moonshine: <1.52
This package is auto-updated.
Last update: 2024-09-05 20:25:53 UTC
README
描述
Moonshine 数据库管理器包是 Moonshine 管理面板的一个强大扩展,它通过管理界面直接实现无缝数据库管理。此 Laravel 包通过允许管理员无需复杂的 SQL 查询或外部工具即可轻松与底层数据库交互,增强了 Moonshine 管理面板的功能。
功能
- 直观界面:该包与 Moonshine 管理面板无缝集成,提供用户友好的界面来管理数据库。管理员可以轻松执行数据库记录的 CRUD(创建、读取、更新、删除)操作。
- 用户权限:使用强大的用户权限设置来控制对数据库管理器的访问。定义哪些管理员可以查看、编辑或删除数据库记录和表。
- 简单安装:该包易于安装和配置。
安装
- 通过 composer 安装包
composer require sweet1s/moonshine-database
- 发布配置文件
php artisan vendor:publish --provider="Sweet1s\MoonShineDatabase\Providers\MoonShineDatabaseServiceProvider"
- 将项目添加到您的 MoonShineServiceProvider 文件中,如下所示
public function boot(): void { app(MoonShine::class)->menu([ ... \Sweet1s\MoonShineDatabase\Menu\DatabaseItem::make(), ... ]); }
身份验证
为了使用身份验证,Moonshine 数据库依赖于 Laravel Gate 系统。要启用此功能,您需要在 AuthServiceProvider 中添加以下代码并实现您自己的授权逻辑。首先,您应该在 moonshine-database.php 配置文件中将 auth 参数设置为 true。以下是一个代码示例
在您的 config/moonshine-database.php 文件中
... 'auth' => [ 'enable' => true ], ...
在您的 app/Providers/AuthServiceProvider.php 文件中
<?php namespace App\Providers; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;use Illuminate\Support\Facades\Gate; class AuthServiceProvider extends ServiceProvider { /** * Register any authentication / authorization services. * * @return void */ public function boot() { ... foreach (config('moonshine-database.auth.permissions') as $key => $value) { Gate::define($value, function ($user) use ($value) { // Here you can implement your own authorization logic // I use spatie/laravel-permission package, so I can do like this: return $user->role->hasPermissionTo($value); }); } } }