chrisreedio / bastion
为Filament提供的SSO权限控制
v3.0.0-beta.9
2024-09-04 16:55 UTC
Requires
- php: ^8.1
- chrisreedio/filament-policy-generator: ^3.0.0
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.15.0
- spatie/laravel-permission: ^6.0
Requires (Dev)
- laravel/pint: ^1.13
- nunomaduro/collision: ^7.10|^8.0
- nunomaduro/larastan: ^2.1.1
- orchestra/testbench: ^v8.22|^9.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.3
- phpunit/phpunit: ^10.4.1
This package is auto-updated.
Last update: 2024-09-04 16:59:30 UTC
README
Bastion 是一个用于 Filament 和 Laravel 的包/插件,可以快速搭建应用程序的权限控制。
其主要用例是与 SSO 和 Azure Active Directory 结合使用,但也可以与任何认证提供者一起使用。
警告
此包仍在开发中,不适合生产使用。
安装
您可以通过 composer 安装此包
composer require chrisreedio/bastion
更新您的 PanelProvider 以包含插件
$panel ->plugins([ // ... Other Plugins \ChrisReedIO\Bastion\BastionPlugin::make(), ])
您可以使用以下命令发布并运行迁移
php artisan vendor:publish --tag="bastion-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="bastion-config"
这是已发布配置文件的内容
return [ 'models' => [ 'permission' => \Spatie\Permission\Models\Permission::class, 'role' => \Spatie\Permission\Models\Role::class, 'user' => '\App\Models\User', ], 'permissions' => [ 'preload' => true, ], 'default_guard' => 'web', 'guards' => [ // value => 'Custom Label' 'web' => 'Web', 'api' => 'API', // Your other custom guards here ], 'sso' => [ 'enabled' => false, ], ];
您可以使用以下命令发布种子文件
php artisan vendor:publish --tag="bastion-seeders"
可选,您可以使用以下命令发布视图
php artisan vendor:publish --tag="bastion-views"
用法
可以使用插件上的 ->superAdminRole
方法定义超级管理员角色。
$panel ->plugins([ // ... Other Plugins \ChrisReedIO\Bastion\BastionPlugin::make() ->superAdminRole('Developer'), ])
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
贡献
有关详细信息,请参阅 CONTRIBUTING。
安全漏洞
有关如何报告安全漏洞,请参阅 我们的安全策略。
鸣谢
特别感谢 @Althinect 和 @bezhanSalleh 他们的包和辛勤工作。这个项目受到了他们的启发,并基于他们的工作。没有他们,这个包是不可能的。
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。