mkinyua53 / authorization
为 larapacks/authorization 包添加功能的包
v1.0.0
2020-12-14 11:42 UTC
Requires
- larapacks/authorization: ^2.3
README
此包返回 larapacks\authorization
包的所有可能的路由。您需要在您的laravel项目中先配置该包。
安装
使用composer
composer require mkinyua53/authorization
将服务提供者在 config\app.php 的 providers 数组中插入。
Mkinyua53\Authorization\AuthorizationServiceProvider::class,
用法
在
\App\User
public function roles() { return $this->belongsToMany(Role::class); } public function permissions() { return $this->belongsToMany(Permission::class); }
\App\Role
public function users() { return $this->belongsToMany(User::class); } public function permissions() { return $this->belongsToMany(Permission::class); }
\App\Permission
public function roles() { return $this->belongsToMany(Role::class); } public function users() { return $this->belongsToMany(User::class); }
在服务提供者的注册函数中插入路由声明
class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { \Mkinyua53\Authorization\Authorization::routes(); } }
以下路由将被添加
Route::group(['namespace' => '\Mkinyua53\Authorization'], function () { Route::resource('roles', 'RoleController', ['except' => ['create', 'edit']]); Route::resource('permissions', 'PermissionController', ['except' => ['create', 'edit']]); Route::post('roles/{role}/users/{user}/attach', 'RoleController@attachUser'); Route::post('roles/{role}/permissions/{permission}/attach', 'RoleController@attachPermission'); Route::post('roles/{role}/users/{user}/detach', 'RoleController@detachUser'); Route::post('roles/{role}/permissions/{permission}/detach', 'RoleController@detachPermission'); Route::post('roles/users/{user}/detach', 'RoleController@detachUserAll'); Route::post('roles/permissions/{permission}/detach', 'RoleController@detachPermissionAll'); Route::post('permissions/{permission}/users/{user}/attach', 'PermissionController@attachUser'); Route::post('permissions/{permission}/users/{user}/detach', 'PermissionController@detachUser'); Route::post('permissions/users/{user}/detach', 'PermissionController@detachUserAll'); });
注意
- 此包针对在API中使用进行了优化,未提供视图