Rumah rangka kerja php Laravel Aplikasi lanjutan fungsi kebenaran Laravel: bagaimana untuk merealisasikan pengurusan visual dan konfigurasi kebenaran

Aplikasi lanjutan fungsi kebenaran Laravel: bagaimana untuk merealisasikan pengurusan visual dan konfigurasi kebenaran

Nov 02, 2023 am 08:58 AM
fungsi kebenaran laravel Pengurusan visual Konfigurasikan kebenaran

Aplikasi lanjutan fungsi kebenaran Laravel: bagaimana untuk merealisasikan pengurusan visual dan konfigurasi kebenaran

Aplikasi lanjutan fungsi kebenaran Laravel: Bagaimana untuk merealisasikan pengurusan visual dan konfigurasi kebenaran

Apabila membangunkan aplikasi web berskala besar, pengurusan kebenaran pengguna adalah fungsi yang sangat penting. Sebagai rangka kerja PHP yang popular, Laravel menyediakan sistem kebenaran yang berkuasa dan mudah digunakan dan dilanjutkan. Walau bagaimanapun, dalam aplikasi sebenar, pengurusan kebenaran dan konfigurasi berasaskan kod boleh menjadi rumit dan terdedah kepada ralat. Untuk menyelesaikan masalah ini, kami boleh memperkenalkan fungsi pengurusan visual dan kebenaran konfigurasi. Artikel ini akan memperkenalkan cara melaksanakan pengurusan visual dan konfigurasi kebenaran dalam Laravel, dan memberikan contoh kod khusus.

1. Reka bentuk pangkalan data

Sebelum kita mula, kita perlu mereka bentuk model pangkalan data untuk menyimpan maklumat berkaitan kebenaran. Reka bentuk jadual pangkalan data yang biasa digunakan adalah seperti berikut:

  • jadual pengguna: digunakan untuk menyimpan maklumat pengguna.
  • jadual peranan: digunakan untuk menyimpan maklumat peranan.
  • jadual kebenaran: digunakan untuk menyimpan maklumat kebenaran.
  • role_user table: digunakan untuk menyimpan perhubungan antara pengguna dan peranan.
  • permission_role table: digunakan untuk menyimpan perhubungan antara peranan dan kebenaran.

2. Pasang dan konfigurasi kebergantungan

Sebelum menggunakan Laravel untuk melaksanakan pengurusan visual dan konfigurasi kebenaran, kita perlu memasang dan mengkonfigurasi beberapa kebergantungan yang diperlukan. Pertama, kita perlu memasang pakej sambungan "Laravel Breeze" dan "Fortify" untuk pengesahan dan kebenaran pengguna. Pemasangan boleh dilengkapkan dengan arahan berikut:

composer require laravel/breeze --dev
Salin selepas log masuk

Selepas pemasangan selesai, kami perlu mengkonfigurasi pembekal perkhidmatan "Fortify" dan menjalankan beberapa arahan yang diperlukan untuk menjana fail berkaitan pengesahan pengguna:

php artisan vendor:publish --provider="LaravelFortifyFortifyServiceProvider"
php artisan migrate
php artisan fortify:install
php artisan migrate
Salin selepas log masuk

Seterusnya, kami perlu memasang dan konfigurasikan pakej sambungan "Laravel Spatie" untuk pengurusan bersatu dan kawalan kebenaran. Pemasangan boleh diselesaikan melalui arahan berikut:

composer require spatie/laravel-permission
Salin selepas log masuk

Selepas pemasangan selesai, kami perlu mengkonfigurasi pembekal perkhidmatan pakej sambungan "Spatie Permission" dan menjalankan beberapa arahan yang diperlukan untuk menjana fail dan jadual yang berkaitan dengan kebenaran:

php artisan vendor:publish --provider="SpatiePermissionPermissionServiceProvider"
php artisan migrate
Salin selepas log masuk

3. Cipta antara muka Pengurusan kebenaran

Untuk mencapai pengurusan visual dan konfigurasi kebenaran, kami perlu mencipta antara muka pengurusan kebenaran untuk digunakan oleh pentadbir. Antara muka ini boleh menyediakan pentadbir dengan fungsi berikut:

  • Cipta, edit dan padam kebenaran
  • Berikan peranan kepada kebenaran
  • Berikan kebenaran kepada peranan

Kami boleh menggunakan enjin pengurusan templat paparan terbina dalam Laravel . Mula-mula, cipta pengawal kebenaran dan tentukan beberapa kaedah yang diperlukan:

namespace AppHttpControllers;

use IlluminateHttpRequest;
use SpatiePermissionModelsPermission;
use SpatiePermissionModelsRole;

class PermissionController extends Controller
{
    public function index()
    {
        $permissions = Permission::all();
        $roles = Role::all();

        return view('permissions.index', compact('permissions', 'roles'));
    }

    public function create()
    {
        $roles = Role::all();

        return view('permissions.create', compact('roles'));
    }

    public function store(Request $request)
    {
        $permission = Permission::create([
            'name' => $request->input('name'),
            'guard_name' => 'web',
        ]);

        $roles = $request->input('roles');
        $permission->syncRoles($roles);

        return redirect()->route('permissions.index');
    }

    // 其他方法(编辑、更新、删除等)
}
Salin selepas log masuk

Seterusnya, kita perlu mencipta fail paparan yang berkaitan. Cipta fail "index.blade.php" untuk memaparkan senarai kebenaran, fail "create.blade.php" untuk memaparkan borang kebenaran cipta dan fail "edit.blade.php" untuk memaparkan borang kebenaran edit.

Dalam fail paparan ini, kita boleh menggunakan elemen borang HTML dan enjin templat Laravel's Blade untuk mencipta dan memaparkan borang yang sepadan. Berikut ialah contoh mudah untuk mencipta borang kebenaran:

<form action="{{ route('permissions.store') }}" method="POST">
    @csrf
    <div class="form-group">
        <label for="name">权限名称</label>
        <input type="text" name="name" class="form-control" required>
    </div>
    <div class="form-group">
        <label for="roles">关联角色</label>
        <select name="roles[]" multiple class="form-control" required>
            @foreach ($roles as $role)
                <option value="{{ $role->name }}">{{ $role->name }}</option>
            @endforeach
        </select>
    </div>
    <button type="submit" class="btn btn-primary">创建权限</button>
</form>
Salin selepas log masuk

IV Contoh pengurusan visual dan konfigurasi kebenaran

Untuk lebih memahami proses pelaksanaan pengurusan visual dan konfigurasi kebenaran, kami mengambil sistem blog yang mudah sebagai. satu contoh. Katakan sistem kami mempunyai tiga peranan: pentadbir, editor dan pengguna biasa, dan tiga kebenaran: menerbitkan artikel, mengedit artikel dan memadamkan artikel. Kami boleh mencipta dan mengkonfigurasi kebenaran ini melalui antara muka pengurusan kebenaran.

Pertama, kami mencipta peranan dan kebenaran ini dalam pangkalan data dan melaksanakan logik yang sepadan dalam kod.

Dalam fail penghalaan, kita boleh menentukan laluan yang berkaitan untuk pengurusan kebenaran, seperti yang ditunjukkan di bawah:

use AppHttpControllersPermissionController;

Route::middleware(['auth'])->group(function () {
    Route::resource('permissions', PermissionController::class)->except('show');
});
Salin selepas log masuk

Kemudian, kita boleh menyemak imbas dan mengurus kebenaran dengan mengakses laluan "kebenaran".

Pada halaman senarai kebenaran semak imbas, kita boleh melihat kebenaran yang telah wujud dalam sistem dan boleh membuat, mengedit, memadamkan kebenaran pada halaman dan menetapkan peranan kepada kebenaran. Hanya akses laluan "kebenaran" terus dalam penyemak imbas anda.

5. Ringkasan

Dengan memperkenalkan fungsi pengurusan visual dan kebenaran konfigurasi, kami boleh meningkatkan kecekapan pengurusan kebenaran pengguna dan mengurangkan kerumitan kod dan kemungkinan ralat. Dalam artikel ini, kami memperkenalkan cara untuk melaksanakan pengurusan visual dan konfigurasi kebenaran dalam Laravel, dan memberikan contoh kod khusus.

Melalui langkah di atas, kami boleh mengurus dan mengkonfigurasi kebenaran pengguna dengan mudah melalui antara muka pengurusan kebenaran tersuai, meningkatkan kecekapan pembangunan dan pengalaman pengguna. Saya harap artikel ini akan membantu anda melaksanakan pengurusan visual dan konfigurasi kebenaran dalam Laravel.

Atas ialah kandungan terperinci Aplikasi lanjutan fungsi kebenaran Laravel: bagaimana untuk merealisasikan pengurusan visual dan konfigurasi kebenaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya menggunakan komponen Laravel untuk mencipta elemen UI yang boleh diguna semula? Bagaimana saya menggunakan komponen Laravel untuk mencipta elemen UI yang boleh diguna semula? Mar 17, 2025 pm 02:47 PM

Artikel ini membincangkan membuat dan menyesuaikan elemen UI yang boleh diguna semula di Laravel menggunakan komponen, menawarkan amalan terbaik untuk organisasi dan mencadangkan peningkatan pakej.

Bagaimana saya membuat dan menggunakan arahan pisau tersuai di laravel? Bagaimana saya membuat dan menggunakan arahan pisau tersuai di laravel? Mar 17, 2025 pm 02:50 PM

Artikel ini membincangkan membuat dan menggunakan arahan pisau tersuai di Laravel untuk meningkatkan templat. Ia meliputi arahan yang menentukan, menggunakannya dalam templat, dan menguruskannya dalam projek besar, menonjolkan manfaat seperti kebolehgunaan semula kod yang lebih baik dan r yang lebih baik dan r

Bagaimanakah saya boleh membuat dan menggunakan peraturan pengesahan tersuai di Laravel? Bagaimanakah saya boleh membuat dan menggunakan peraturan pengesahan tersuai di Laravel? Mar 17, 2025 pm 02:38 PM

Artikel ini membincangkan membuat dan menggunakan peraturan pengesahan tersuai di Laravel, menawarkan langkah -langkah untuk menentukan dan melaksanakannya. Ia menyoroti faedah seperti kebolehgunaan semula dan kekhususan, dan menyediakan kaedah untuk memperluaskan sistem pengesahan Laravel.

Bagaimana saya menggunakan konsol artisan Laravel untuk mengautomasikan tugas biasa? Bagaimana saya menggunakan konsol artisan Laravel untuk mengautomasikan tugas biasa? Mar 17, 2025 pm 02:39 PM

Konsol Artisan Laravel mengautomasikan tugas -tugas seperti menghasilkan kod, menjalankan migrasi, dan penjadualan. Perintah utama termasuk membuat: pengawal, berhijrah, dan db: benih. Perintah tersuai boleh dibuat untuk keperluan khusus, meningkatkan kecekapan aliran kerja.Character

Bagaimanakah saya boleh menggunakan ciri penghalaan Laravel untuk membuat URL mesra SEO? Bagaimanakah saya boleh menggunakan ciri penghalaan Laravel untuk membuat URL mesra SEO? Mar 17, 2025 pm 02:43 PM

Artikel ini membincangkan menggunakan penghalaan Laravel untuk mewujudkan URL mesra SEO, meliputi amalan terbaik, URL kanonik, dan alat untuk pengoptimuman SEO.

Mana yang lebih baik, Django atau Laravel? Mana yang lebih baik, Django atau Laravel? Mar 28, 2025 am 10:41 AM

Kedua-dua Django dan Laravel adalah kerangka kerja penuh. Django sesuai untuk pemaju python dan logik perniagaan yang kompleks, manakala Laravel sesuai untuk pemaju PHP dan sintaks elegan. 1.Django didasarkan pada python dan mengikuti falsafah "lengkap bateri", sesuai untuk perkembangan pesat dan kesesuaian yang tinggi. 2. Laravel didasarkan pada PHP, menekankan pengalaman pemaju, dan sesuai untuk projek kecil dan sederhana.

Bagaimanakah saya menggunakan urus niaga pangkalan data di Laravel untuk memastikan konsistensi data? Bagaimanakah saya menggunakan urus niaga pangkalan data di Laravel untuk memastikan konsistensi data? Mar 17, 2025 pm 02:37 PM

Artikel ini membincangkan menggunakan urus niaga pangkalan data di Laravel untuk mengekalkan konsistensi data, memperincikan kaedah dengan fasad DB dan model fasih, amalan terbaik, pengendalian pengecualian, dan alat untuk pemantauan dan debugging urus niaga.

Bagaimanakah saya boleh melaksanakan caching di Laravel untuk meningkatkan prestasi aplikasi? Bagaimanakah saya boleh melaksanakan caching di Laravel untuk meningkatkan prestasi aplikasi? Mar 17, 2025 pm 02:35 PM

Artikel ini membincangkan pelaksanaan caching di Laravel untuk meningkatkan prestasi, meliputi konfigurasi, menggunakan fasad cache, tag cache, dan operasi atom. Ia juga menggariskan amalan terbaik untuk konfigurasi cache dan mencadangkan jenis data ke cache

See all articles