PHP - 后台权限
生活随笔
收集整理的这篇文章主要介绍了
PHP - 后台权限
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
PHP 后台权限 分为
权限,角色,和用户
角色有不同的权限,用户有不同的角色,当然你也可以让用户只有一个角色。
所以我们要建四个表 public function up(){//角色表Schema::create('admin_roles', function (Blueprint $table) {$table->increments('id');$table->string('name',30)->default('');$table->string('description',100)->default('');$table->timestamps();});//权限表Schema::create('admin_permissions', function (Blueprint $table) {$table->increments('id');$table->string('name',30)->default('');$table->string('description',100)->default('');$table->timestamps();});//角色权限表Schema::create('admin_permission_roles', function (Blueprint $table) {$table->increments('id');$table->integer('role_id');$table->integer('permission_id');$table->timestamps();});//用户角色表Schema::create('admin_role_user', function (Blueprint $table) {$table->increments('id');$table->integer('role_id');$table->integer('user_id');});}
然后进行模型关联
1.权限与角色 之间的多对多关联
2.角色与用户 之间的关联
/** 一个用户有哪些角色*/public function roles(){return $this->belongsToMany(\App\AdminRole::class, 'admin_role_user', 'user_id', 'role_id')->withPivot(['user_id', 'role_id']);}3 使用Gate来进行权限控制,在路由 和 前台 一起进行权限控制。
$permissions = \App\AdminPermission::with('roles')->get();foreach ($permissions as $permission) {Gate::define($permission->name, function($user) use($permission) {return $user->hasPermission($permission);});}//路由Route::group(['middleware'=>'can:system'], function (){});//前台@can('post')@endcan总结
以上是生活随笔为你收集整理的PHP - 后台权限的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 商务与经济统计++原书第12版+[(美)
- 下一篇: php后台框架整理集锦