解决方案森林 / 丝状体访问管理
丝状体访问管理
Requires
- php: ^8.1
- filament/filament: ^3.0
- guava/filament-icon-picker: ^2.0
- solution-forest/filament-tree: ^2.1.0
- spatie/laravel-package-tools: ^1.15.0
- spatie/laravel-permission: ^5.5|^6.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is not auto-updated.
Last update: 2024-09-23 08:12:47 UTC
README
这是一个 Filament Admin 的身份验证插件,适用于 Laravel-permission
安装
-
确保您已经安装了 Filament 面板。
-
您可以通过 composer 安装此包
composer require solution-forest/filament-access-management
-
将必要的特质添加到您的 User 模型中
use SolutionForest\FilamentAccessManagement\Concerns\FilamentUserHelpers; class User extends Authenticatable { use FilamentUserHelpers; }
-
清除您的配置缓存:
php artisan optimize:clear # or php artisan config:clear
-
在您的面板提供者中注册插件
重要:从版本 2.x 开始,在您的面板提供者中注册插件
use SolutionForest\FilamentAccessManagement\FilamentAccessManagementPanel; public function panel(Panel $panel): Panel { return $panel ->plugin(FilamentAccessManagementPanel::make()); }
-
然后执行以下命令
php artisan filament-access-management:install
如果您还没有名为
admin
的用户,此命令将创建具有以下凭据的 超级管理员用户- 姓名:admin
- 电子邮件地址:admin@("slug" 模式从 config("app.name")).com
- 密码:admin
您还可以使用以下方式创建超级管理员用户
php artisan make:super-admin-user
-
调用升级命令以在版本 2.2.0 之后升级数据
php artisan filament-access-management:upgrade
发布配置、视图、翻译和迁移
您可以使用以下方式发布配置、视图、翻译和迁移
php artisan vendor:publish --tag="filament-access-management-config" php artisan vendor:publish --tag="filament-access-management-views" php artisan vendor:publish --tag="filament-access-management-translations" php artisan vendor:publish --tag="filament-access-management-migrations"
迁移
php artisan migrate
用法
安装后,将创建“菜单”、“用户”、“角色”和“权限”页面。每个用户都有角色,每个角色都有权限。
路由控制
在此插件中,权限和路由绑定在一起,在编辑权限页面中设置当前权限可以访问的路由,在 HTTP 方法
选择框中选中访问路由的方法,并在 HTTP 路径
中填写可以访问的路径。
例如,如果您要添加一个可以访问路径 /admin/users
的 GET
权限,请在 HTTP 方法
选择 GET
,并在 HTTP 路径
中填写 /users
。
如果您想访问以 /admin/users
为前缀的所有路径,请在 HTTP 路径
中填写 /users*
;如果您想访问编辑页面,请在 HTTP 路径
中填写 /users/*/edit
;如果多个路径中的每个路径的方法不同,请在 HTTP 路径
中填写 GET:users/*
。
如果上述方法不足以满足需求,HTTP 路径
还支持 路由别名,例如 admin.users.show
。
超级管理员
创建超级管理员用户
php artisan make:super-admin-user
检查权限
# Check by permission's name \SolutionForest\FilamentAccessManagement\Http\Auth\Permission::check($name) # Check by http_path \SolutionForest\FilamentAccessManagement\Http\Auth\Permission::checkPermission($path)
获取当前用户
\SolutionForest\FilamentAccessManagement\Facades\FilamentAuthenticate::user();
高级使用
默认情况下,创建的菜单将与filament的原始菜单共存。要使用本包中的菜单覆盖原始菜单,请按以下方式修改/config/filament-access-management.php
- 设置
filament.navigation.enabled => true
'filament' => [ ... 'navigation' => [ /** * Using db based filament navigation if true. */ 'enabled' => true, /** * Table name db based filament navigation. */ 'table_name' => 'filament_menu', /** * Filament Menu Model. */ 'model' => Models\Menu::class, ] ... ]
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请参阅我们的安全策略以了解如何报告安全漏洞。
鸣谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。