niro / rbac-backend
rbac for backend ,database for mongo
Installs: 75
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/niro/rbac-backend
Requires
- jenssegers/mongodb: ^3.5
- myclabs/php-enum: ^1.8
README
此工具包开箱即用,集成了接口级别的权限控制模块,自带模型、数据表、中间件,只需要配置数据库账户密码即可使用。
安装
COMPOSER_MEMORY_LIMIT=-1 composer require --no-cache niro/rbac-backend
前提
- 
php需要开启mongodb扩展
- 
需要名为 login的路由,例如
Route::post('auth/login', [C\Auth\LoginController::class, 'login'])->name('login');
使用说明
- 
检查是否在 env中配置了mongodb数据库账密
- 
检查 config/database.php的connection是否配置了mongodb,如下案例
'connections' => [ ... 'mongodb' => [ 'driver' => 'mongodb', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', 27017), 'database' => env('DB_DATABASE', 'chatbot'), 'username' => env('DB_USERNAME', ''), 'password' => env('DB_PASSWORD', ''), 'options' => [ // here you can pass more settings to the Mongo Driver Manager // see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use // 'database' => env('DB_AUTHENTICATION_DATABASE', 'admin'), // required with Mongo 3+ ], ], ],
- 
执行 php artisan migrate
- 
执行 php artisan rbac:init
- 
恭喜你,完成了初始化 
自定义用户模型
- 可以自行创建用户模型,但必须继承 Rbac\Models\AdminUser,并修改configs/auth.php中的providers.admin-users.model为您自定义的模型类
自定义控制器
请将 src/Controllers/AdminUserController.php 文件拷贝到你想存放的路径,记得修改其中的命名空间