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

Cara Membuat Role User di Laravel 12 Tanpa Menggunakan Package dan Menampilkan Menu di Blade Sesuai Role User Laravel
Solusi CURL ERROR 60: SSL Certificate Problem di LARAVEL atau di curl PHP Laravel
Membuat Pagination di Laravel 10 dengan Bootstrap 5 Blade
Laravel 403 Forbidden Upload to resfull API Laravel
Web Zakat Berbasis Laravel 10 Laravel
Contoh Membuat Factory di Laravel 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