mvd81 / laravel-is-admin
Laravel 包,用于设置用户为管理员,无需复杂的角色系统
v2.0
2022-03-02 11:28 UTC
Requires
- php: ^7.4|^8.0
Requires (Dev)
- orchestra/testbench: ^5.0|^6.0
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-13 17:20:26 UTC
README
简介
Laravel 包,用于扩展您的 Laravel 应用程序,增加简单的管理员权限功能,包括:
- 迁移文件,用于设置用户为管理员
- 中间件
- Blade 指令
- Artisan 命令,用于查看谁是谁的管理员
- 可以将用户 ID 为 1 的用户设置为超级管理员
要求
Laravel 8 或更高版本
安装
-
composer require mvd81/laravel-is-admin -
运行
php artisan migrate以在users表中创建 'is_admin' 列 -
在用户模型中导入该特质
use Mvd81\LaravelIsAdmin\Traits\isAdmin;
- 在用户模型中使用该特质
class User extends Authenticatable { use isAdmin; ...
如何使用
您可以通过将数据库表中 users 的 is_admin 列设置为 1 来将“普通”用户设置为管理员。
或在代码中
设置管理员
$user = User::find(ID); $user->makeAdmin();
撤销管理员
$user = User::find(ID); $user->undoAdmin();
超级管理员
您可以使用 ID 为 1 的用户作为管理员,而无需将 'is_admin' 列设置为 1。
首先您需要发布配置文件。
php artisan vendor:publish- 选择选项:提供者:Mvd81\LaravelIsAdmin\LaravelIsAdminServiceProvider
现在在 config/is_admin.php 中将 'use_super_admin' 设置为 true。
'use_super_admin' => true,
中间件
有一个 IsAdmin 中间件可用于您的路由。
示例
Route::get('admin-page')->middleware('IsAdmin');
Blade 指令
您的 Blade 视图文件中的部分模板/布局仅对管理员可见?
您可以使用这个 Blade 指令
@isAdmin() I am an admin @endisAdmin
谁是谁的管理员?
您可以通过 artisan 命令来查看谁是谁的管理员。
php artisan command:isAdmin
卸载
composer remove mvd81/laravel-is-admin- 删除配置文件
config/is_admin.php - 删除表
users中的数据库is_admin列 - 如果使用了 blade
@isAdmin()指令,请删除它们 - 从您的路由中删除
is_admin中间件