Laravel Permission

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

• Step 1: Laravel Installation

• Step 2: Install Composer Packages


ST E P 2 : I N STA L L CO M P O S E R PAC KAG E S
ST E P 3 : C R E AT E P R O D U C T
M I G R AT I O N

• Tạo 1 file migration.


STEP 3:
CREATE
PRODUCT
MIGRATION
ST E P 4 : C R E AT E M O D E L S App/Models/User.php
ST E P 4 : C R E AT E M O D E L S App/Models/Product.php
STEP 5: ADD MIDDLEWARE
• Gói spatie đã cung cấp bộ sẵn điều khiển trong “role” và
“permission”
• app/Http/Kernel.php
ST E P 6 : C R E AT E A U T H E N T I C AT I O N
ST E P 7 : C R E AT E R O U T E S
• routes/web.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/UserController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/UserController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/UserController.php
STEP 8: ADD CONTROLLERS

• app/Http/Controllers/
UserController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/ProductController.php

function __construct()
{
$this->middleware('permission:product-list|product-create|product-edit|product-delete', ['only' => ['index','show']]);

$this->middleware('permission:product-create', ['only' => ['create','store']]);

$this->middleware('permission:product-edit', ['only' => ['edit','update']]);

$this->middleware('permission:product-delete', ['only' => ['destroy']]);


}
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/ProductController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/ProductController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/ProductController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/ProductController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/RoleController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/RoleController.php

function __construct()
{
$this->middleware('permission:role-list|role-create|role-edit|role-delete', ['only' =>
['index','store']]);

$this->middleware('permission:role-create', ['only' => ['create','store']]);

$this->middleware('permission:role-edit', ['only' => ['edit','update']]);

$this->middleware('permission:role-delete', ['only' => ['destroy']]);


}
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/RoleController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/RoleController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/RoleController.php

public function show($id): View


{
$role = Role::find($id);
$rolePermissions =
Permission::join("role_has_permissions","role_has_permissions.perm
ission_id","=","permissions.id")
->where("role_has_permissions.role_id",$id)
->get();
return view('roles.show',compact('role','rolePermissions'));
}
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/RoleController.php

public function edit($id): View


{
$role = Role::find($id);
$permission = Permission::get();
$rolePermissions = DB::table("role_has_permissions")
->where("role_has_permissions.role_id",$id)
->pluck('role_has_permissions.permission_id’,
'role_has_permissions.permission_id')->all();
return view('roles.edit',compact('role','permission','rolePermissions'));
}
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/RoleController.php
STEP 8: ADD CONTROLLERS
• app/Http/Controllers/RoleController.php
STEP 9: ADD BLADE FILES
• Tạo các file view sau :

• Theme Layout: app.blade.php

• Users Module: index.blade.php; create.blade.php; edit.blade.php;


show.blade.php
• Roles Module: index.blade.php; create.blade.php; edit.blade.php;
show.blade.php
• Product Module: index.blade.php; create.blade.php; edit.blade.php;
show.blade.php
STEP 9: ADD BLADE FILES

List Product
STEP 9: ADD BLADE FILES

Create User:
STEP 9: ADD BLADE FILES

Create Role:
STEP 9: ADD BLADE FILES

List Role:
STEP 9: ADD BLADE FILES

List User:
ST E P 1 0 : C R E AT E S E E D E R F O R
PERMISSIONS AND ADMINUSER
• Viết Seeder tạo các quyền :

1.role-list

2.role-create

3.role-edit

4.role-delete

5.product-list

6.product-create

7.product-edit

8.product-delete
ST E P 1 0 : C R E AT E S E E D E R F O R
PERMISSIONS AND ADMINUSER

• Tạo seeder:
ST E P 1 0 : C R E AT E
SEEDER FOR
PERMISSIONS AND
ADMINUSER

• database/seeders/PermissionTa
bleSeeder.php
ST E P 1 0 : C R E AT E S E E D E R F O R
PERMISSIONS AND ADMINUSER
• Chạy PermissionTableSeeder:
ST E P 1 0 : C R E AT E S E E D E R F O R
PERMISSIONS AND ADMINUSER
• Tạo seeder cho admin user:
ST E P 1 0 : C R E AT E
SEEDER FOR
PERMISSIONS AND
ADMINUSER

• database/seeders/CreateAdmin
UserSeeder.php
ST E P 1 0 : C R E AT E S E E D E R F O R
PERMISSIONS AND ADMINUSER
• Chạy CreateAdminUserSeeder :
C H Ạ Y L A R AV E L

TK, MK Login
THANKS
FOR
WATCHING

You might also like