Rumah > rangka kerja php > Laravel > teks badan

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

WBOY
Lepaskan: 2023-11-02 08:58:10
asal
931 orang telah melayarinya

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!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan