acmepackage / laravel-admin
Laravel 管理面板
This package is not auto-updated.
Last update: 2024-09-30 17:28:31 UTC
README
一个用于管理用户、角色、权限和CRUD的管理面板。
要求
Laravel >=9
PHP >= 8.0
composer `2.4.2`
node `16.17.1`
npm `8.15.0`
WebPack and laravel mix
Now we Support Laravel 9
模板版本
Bootstrap v4
AdminLTE 3.1
功能
- 用户、角色和权限管理器
- CRUD 生成器
- 活动日志
- 页面 CRUD
- 设置
安装
- 运行
composer require acmepackage/laravel-admin
确保您的用户模型的 has a
`
HasRoles`
特性 app/Models/User.php.class User extends Authenticatable { use Notifiable, HasRoles; ...
- 创建认证资产
php artisan ui bootstrap --auth
不要替换认证视图
将以下行添加到位于路由文件夹中的 "web.php" 文件
require('admin.php');
在 app/Http/Kernel.php 中注册本地化中间件
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\Localization::class,
],
];
- 运行以下命令
php artisan vendor:publish --all
删除位于项目根目录中的 package.json 并将同一目录中的 package.json.example 重命名为 package.json,然后将 webpack.mix.js.example 重命名为 webpack.mix.js
运行以下命令以安装 node 和构建节点包
npm install
npm install --save-dev webpack
npm run dev
要为角色和语言创建 seeder,请将以下行添加到 "run" 函数中的 DatabaseSeeder.php
$this->call([ RoleTableSeeder::class, LanguageTableSeeder::class, ]);
最后运行
php artisan migrate --seed
- 在运行 "php artisan serve" 后打开以下 URL:your_url/admin
注意:我们只使用 webpack 而不是 vite
注意:如果您正在使用 Laravel 7+,则建议使用 bootstrap 来构建认证以获得更好的体验。现在您可以通过生成器工具轻松生成 CRUD。
用法
创建一些权限。
创建一些角色。
将权限分配给角色。
创建具有角色的用户。
要检查认证用户的角色,请参阅以下内容
// Add role middleware in app/Http/Kernel.php protected $routeMiddleware = [ ... 'role' => \App\Http\Middleware\CheckRole::class, ];
// Check role anywhere if (Auth::check() && Auth::user()->hasRole('admin')) { // Do admin stuff here } else { // Do nothing } // Check role in route middleware Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'middleware' => ['auth', 'role:admin']], function () { Route::get('/', ['uses' => 'AdminController@index']); }); // Check permission in route middleware Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'middleware' => ['auth', 'can:write_user']], function () { Route::get('/', ['uses' => 'AdminController@index']); });
要检查权限,请参阅以下内容
if ($user->can('permission-name')) { // Do something }
有关 ACL 的更多信息,请参阅这里
有关活动日志的更多信息,请参阅 spatie/laravel-activitylog
文档
屏幕截图
作者
[Mohamed Hassan] :email: Email Me
参考
Sohel Amin :email: Email Me
许可证
该项目受 MIT 许可证的许可 - 有关详细信息,请参阅许可证文件