Skip to content
logo

Kotak Kode Pemograman

Sharing tentang bahasa pemograman

  • WordPress
    • Plugin
  • Tutorial
    • PHP
  • Laravel
  • Tools Webbsite
  • Desain
  • Source Code
  • Web Developer
  • Toggle search form

Membuat Role Permission di Laravel

Posted on 07/06/202307/06/2023 By kotakkode No Comments on Membuat Role Permission di Laravel

Install Spatie Laravel-permission package

composer require spatie/laravel-permission

Perintah tersebut akan membuat perubahan pada composer.json

Kemudian jalankan perintah di terminal:

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"

maka akan membuat dua file

dan jalankan migration

php artisan migrate

Selanjtnya membuat CRUD management permission

Membuat model permission

artisan make:model Permission

Maka akan dibuat kan file app/Models/Permission.php

Ubah Permission.php menjadi

<?php
namespace App\Models;
use Spatie\Permission\Models\Permission as OriginalPermission;
class Permission extends OriginalPermission
{
    protected $fillable = [
        'name',
        'guard_name',
        'updated_at',
        'created_at'
    ];
}

Membuat Controller

php artisan make:controller Admin/PermissionController --model=Permission --resource

maka dibuatkan file app/Http/Controllers/Admin/PermissionController.php isi file tersebut yaitu:

<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Models\Permission;
use Illuminate\Http\Request;

class PermissionController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     */
    public function show(Permission $permission)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(Permission $permission)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, Permission $permission)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(Permission $permission)
    {
        //
    }
}

Membuat Routenya:

buat file routes/admin.php

Tuliskan kode berikut di file admin.php

<?php
Route::group([
    'namespace'  => 'App\Http\Controllers\Admin',
    'prefix'     => 'admin',
    'middleware' => ['auth'],
], function () {
    Route::resource('permission', 'PermissionController');
});

Route baru perlu dimasukkan ke dalam fungsi boot() di RouteServiceProvider.php.

maka kode lengkap RouteServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Facades\Route;

class RouteServiceProvider extends ServiceProvider
{
    /**
     * The path to your application's "home" route.
     *
     * Typically, users are redirected here after authentication.
     *
     * @var string
     */
    public const HOME = '/dashboard';

    /**
     * Define your route model bindings, pattern filters, and other route configuration.
     */
    public function boot(): void
    {

        RateLimiter::for ('api', function (Request $request) {
            return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
        });

        $this->routes(function () {
            Route::middleware('api')
                ->prefix('api')
                ->group(base_path('routes/api.php'));

            Route::middleware('web')
                ->group(base_path('routes/web.php'));
            Route::middleware('web')
                ->namespace($this->namespace)
                ->group(base_path('routes/admin.php'));
        });
    }
}
Laravel

Post navigation

Previous Post: Membuat Fitur login, Register dan Admin Panel Laravel dengan Breeze
Next Post: Cara membuat Value selected Dropdown di halaman edit blade laravel

Related Posts

RajaOngkir di laravel tanpa package/library Controller
Mengenal Path yang ada di Laravel Laravel
Refrensi Blog Latavel Laravel
Contoh Membuat Factory di Laravel Laravel
.htaccess laravel untuk menganti php version di cpanel Laravel
Menjalankan composer install di cpanel dengan beda php Laravel

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Copyright © 2026 Kotak Kode Pemograman.

Powered by PressBook Grid Blogs theme