ferleal/laravel-adminer

Jakub Vrana 开发的 Laravel 5.8+ Adminer 包装器

1.0.1 2020-03-25 00:00 UTC

This package is auto-updated.

Last update: 2024-09-25 10:38:00 UTC


README

Total Downloads Latest Stable Version License

介绍

Laravel 5.8+ 对 Adminer 的包装器。Adminer 是 Jakub Vrana 编写的一个快速的单文件数据库管理器/浏览器工具。它是一个很好的 PhpMyAdmin(也支持 PostgreSQL、SQLite、MS SQL、Oracle、Firebird、SimpleDB、Elasticsearch 和 MongoDB)替代品。

这个包旨在与 Laravel 一起使用作为内置的数据库管理器/浏览器。它支持 Adminer 插件 和主题,这极大地增强了这个已经强大的工具。

这个包的灵感来源于:miroc/Laravel-Adminersenaranya / laravel-adminer
onecentlin/laravel-adminer

添加此包的原因是为了使其与 Adminer 保持最新,并添加对 SQLITE 的插件支持。

使用默认主题的数据库视图

Database with default theme

使用 'rmsoft' 主题的表视图

Table with 'rmsoft' theme

包含的插件

Tables-filter

添加在表名上执行(模糊)搜索的能力。当您有一大批表时特别有用。

tables-filter

安装

要使用此包,请运行

composer require ferleal/laravel-adminer

要使用 Adminer 到 Laravel 路由(例如 /adminer),更新 routes/web.php

要使用 Laravel 默认连接自动登录 Adminer

Route::any('adminer', '\Ferleal\Adminer\Http\Controllers\AdminerController@auto');

如果您想在 UI 上手动提供凭据

Route::any('adminer', '\Ferleal\Adminer\Http\Controllers\AdminerController@index');

如果您想使用 sqlite,可以像这样使用它,但请注意通常只允许内部 IP 访问。

Route::any('adminer', '\Ferleal\Adminer\Http\Controllers\AdminerController@sqlite');

当然,您可以根据需要添加任何中间件来限制使用

Route::any('adminer', '\Ferleal\Adminer\Http\Controllers\AdminerController@auto')
    ->middleware(['admin']);

禁用 CSRF 中间件

Adminer 不与 VerifyCsrfToken 中间件一起工作,因此必须在它的路由上禁用 CSRF。在 VerifyCsrfToken.php 中,通过将 adminer 路由添加到 $except 数组来禁用 CSRF

protected $except = [
    'adminer'
];

要添加插件

Adminer 支持一系列 插件。有关添加新插件的说明,请参阅 CONTRIBUTING

Adminer 主题(可选)

发布主题文件(您可以在不执行此操作的情况下使用默认主题)

php artisan vendor:publish --provider="Ferleal\Adminer\AdminerServiceProvider"

您可以从 Adminer 下载 adminer.css 或创建自定义样式,并将其放置在 public/vendor/adminer 文件夹中。

注意事项

请注意,不要在生产环境中留下 Adminer 开启,它应在本地或代理后面使用,并受到 Laravel Auth 中间件的保护。