acmepackage/laravel-admin

Laravel 管理面板

v1.1.2 2022-10-30 15:51 UTC

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
  • 设置

安装

  1. 运行
     composer require acmepackage/laravel-admin
    
  2. 确保您的用户模型的 has a `HasRoles` 特性 app/Models/User.php.

     class User extends Authenticatable
     {
         use Notifiable, HasRoles;
    
         ...
    
  3. 创建认证资产
      php artisan ui bootstrap --auth  
    

    不要替换认证视图

  4. 将以下行添加到位于路由文件夹中的 "web.php" 文件

     require('admin.php');
    
  5. 在 app/Http/Kernel.php 中注册本地化中间件

protected $middlewareGroups = [
'web' => [

            \App\Http\Middleware\Localization::class,

        ],

    ];
  1. 运行以下命令
    php artisan vendor:publish --all
    
  2. 删除位于项目根目录中的 package.json 并将同一目录中的 package.json.example 重命名为 package.json,然后将 webpack.mix.js.example 重命名为 webpack.mix.js

  3. 运行以下命令以安装 node 和构建节点包

     npm install
    
     npm install --save-dev webpack
    
      npm run dev
    
  4. 要为角色和语言创建 seeder,请将以下行添加到 "run" 函数中的 DatabaseSeeder.php

      $this->call([
              RoleTableSeeder::class,
             LanguageTableSeeder::class,
         ]);
    
  5. 最后运行

      php artisan migrate --seed
    
  6. 在运行 "php artisan serve" 后打开以下 URL:your_url/admin

注意:我们只使用 webpack 而不是 vite

注意:如果您正在使用 Laravel 7+,则建议使用 bootstrap 来构建认证以获得更好的体验。现在您可以通过生成器工具轻松生成 CRUD。

用法

  1. 创建一些权限。

  2. 创建一些角色。

  3. 将权限分配给角色。

  4. 创建具有角色的用户。

  5. 要检查认证用户的角色,请参阅以下内容

     // 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']);
     });
    
  6. 要检查权限,请参阅以下内容

     if ($user->can('permission-name')) {
         // Do something
     }
    

有关 ACL 的更多信息,请参阅这里

有关活动日志的更多信息,请参阅 spatie/laravel-activitylog 文档

屏幕截图

users

activity log

generator

settings

作者

[Mohamed Hassan] :email: Email Me

参考

Sohel Amin :email: Email Me

许可证

该项目受 MIT 许可证的许可 - 有关详细信息,请参阅许可证文件