Rumah rangka kerja php Laravel Aplikasi praktikal fungsi kebenaran Laravel: Cara melaksanakan kawalan kebenaran struktur organisasi pengguna

Aplikasi praktikal fungsi kebenaran Laravel: Cara melaksanakan kawalan kebenaran struktur organisasi pengguna

Nov 02, 2023 am 08:17 AM
Kawalan kebenaran kebenaran laravel organisasi pengguna

Aplikasi praktikal fungsi kebenaran Laravel: Cara melaksanakan kawalan kebenaran struktur organisasi pengguna

Aplikasi praktikal fungsi kebenaran Laravel: Cara melaksanakan kawalan kebenaran struktur organisasi pengguna memerlukan contoh kod khusus

Pengenalan:
Dengan perkembangan pesat aplikasi web, kawalan kebenaran pengguna telah menjadi keperluan fungsi yang penting. Laravel, sebagai rangka kerja PHP yang popular, menyediakan fungsi pengurusan kebenaran yang fleksibel dan berkuasa. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan kawalan kebenaran struktur organisasi pengguna dan memberikan contoh kod khusus.

1. Keperluan untuk kawalan kebenaran struktur organisasi pengguna
Dalam banyak aplikasi, kebenaran pengguna biasanya diperuntukkan dan diuruskan mengikut struktur organisasi. Sebagai contoh, perusahaan mempunyai beberapa jabatan, dan setiap jabatan mempunyai pekerja yang berbeza. Dalam kes ini, fungsi yang perlu dilaksanakan ialah:

  1. Pentadbir jabatan boleh menguruskan pekerja di bawah jabatan mereka sendiri, tetapi tidak boleh mengakses maklumat daripada jabatan lain
  2. Eksekutif boleh mengakses dan mengurus data keseluruhan syarikat
  3. ; Pekerja Am hanya boleh mengakses maklumat peribadi mereka sendiri.

2. Gunakan fungsi pengurusan kebenaran Laravel
Rangka kerja Laravel mempunyai set lengkap fungsi pengurusan kebenaran terbina dalam yang boleh memenuhi keperluan di atas. Berikut akan memperkenalkan cara menggunakan fungsi kebenaran Laravel untuk melaksanakan kawalan kebenaran struktur organisasi pengguna.

  1. Pasang pemalam pengurusan kebenaran Laravel
    Mula-mula, pasang pemalam pengurusan kebenaran dalam projek Laravel Yang biasa digunakan ialah spatie/laravel-permission dan laravel-permission. Di sini, spatie/laravel-permission digunakan sebagai contoh untuk demonstrasi. Jalankan arahan berikut dalam baris arahan untuk memasang:
composer require spatie/laravel-permission
Salin selepas log masuk

Kemudian, tambahkan konfigurasi berikut dalam fail config/app.php:

'providers' => [
    // ...
    SpatiePermissionPermissionServiceProvider::class,
],

'aliases' => [
    // ...
    'Permission' => SpatiePermissionFacadesPermission::class,
]
Salin selepas log masuk

Akhir sekali, jalankan arahan migrasi pangkalan data untuk mencipta jadual data yang diperlukan:

php artisan migrate
Salin selepas log masuk
  1. Buat model pengguna, peranan dan kebenaran
    Dalam Laravel, tiga model perlu dibuat untuk melaksanakan pengurusan kebenaran: Pengguna (pengguna), Peranan (peranan) dan Kebenaran (kebenaran). Buat model Pengguna di sini dan gunakan pemalam spatie/laravel-permission untuk mengurus peranan dan kebenaran. Jalankan arahan berikut untuk menjana model ini:
php artisan make:model User
php artisan make:model Role
php artisan make:model Permission
Salin selepas log masuk

Kemudian, tambah kod berikut dalam model Pengguna yang dijana:

<?php

namespace App;

use IlluminateNotificationsNotifiable;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateDatabaseEloquentRelationsBelongsToMany;
use SpatiePermissionTraitsHasRoles;

class User extends Authenticatable
{
    use Notifiable, HasRoles;

    // ...
}
Salin selepas log masuk
  1. Buat model jabatan dan pekerja
    Untuk melaksanakan struktur organisasi pengguna, anda juga perlu membuat jabatan dan model pekerja. Jalankan arahan berikut untuk menjana model ini:
php artisan make:model Department
php artisan make:model Employee
Salin selepas log masuk

Kemudian, tambah kod berikut dalam model Jabatan:

<?php

namespace App;

use IlluminateDatabaseEloquentModel;
use IlluminateDatabaseEloquentRelationsHasMany;

class Department extends Model
{
    // ...

    public function employees(): HasMany
    {
        return $this->hasMany(Employee::class);
    }
}
Salin selepas log masuk

Tambah kod berikut dalam model Pekerja:

<?php

namespace App;

use IlluminateDatabaseEloquentModel;
use IlluminateDatabaseEloquentRelationsBelongsTo;

class Employee extends Model
{
    // ...

    public function department(): BelongsTo
    {
        return $this->belongsTo(Department::class);
    }
}
Salin selepas log masuk
  1. Tentukan peranan dan kebenaran
    Mengikut keperluan di atas , kita perlu menentukan tiga Peranan: pentadbir jabatan, eksekutif dan pekerja biasa. Cipta jadual peranan dalam pangkalan data, kemudian gunakan perintah migrasi yang disediakan oleh Laravel untuk menjana jadual data peranan:
php artisan make:migration create_roles_table --create=roles
php artisan migrate
Salin selepas log masuk

Jalankan arahan berikut untuk menambah tiga peranan ini:

php artisan permission:create-role department_manager
php artisan permission:create-role executive
php artisan permission:create-role employee
Salin selepas log masuk

Seterusnya, kita juga perlu menentukan beberapa kebenaran . Cipta jadual kebenaran dalam pangkalan data, dan kemudian gunakan arahan migrasi untuk menjana jadual data kebenaran:

php artisan make:migration create_permissions_table --create=permissions
php artisan migrate
Salin selepas log masuk

Jalankan arahan berikut untuk menambah beberapa kebenaran:

php artisan permission:create-permission manage_department
php artisan permission:create-permission manage_employee
Salin selepas log masuk
  1. Tugaskan peranan dan kebenaran
    Untuk melaksanakan kawalan kebenaran, kita perlu menetapkan peranan dan kebenaran kepada pengguna dan jabatan yang sepadan. Berikut ialah beberapa kod sampel:
use AppUser;
use AppRole;
use AppPermission;
use AppDepartment;
use AppEmployee;

// 创建一个部门管理员用户
$user = User::create([
    'name' => '部门管理员',
    'email' => 'manager@example.com',
    'password' => bcrypt('password'),
]);

// 创建一个部门
$department = Department::create([
    'name' => '销售部门',
]);

// 给用户分配部门管理员角色
$user->assignRole('department_manager');

// 将部门管理员角色与权限关联起来
$role = Role::findByName('department_manager');
$role->givePermissionTo('manage_department');

// 将部门管理员与部门关联起来
$employee = Employee::create([
    'name' => '张三',
    'department_id' => $department->id,
]);
Salin selepas log masuk

3. Kod sampel kawalan kebenaran
Setelah kami melengkapkan tetapan asas pengurusan kebenaran, kami boleh mula menyediakan kod kawalan kebenaran. Berikut ialah beberapa contoh kod:

  1. Pentadbir jabatan boleh menguruskan pekerja di bawah jabatan mereka sendiri, tetapi tidak boleh mengakses maklumat daripada jabatan lain.
public function index()
{
    $user = Auth::user();
    $department = $user->employee->department;

    // 部门管理员只能查看本部门的员工列表
    $employees = $department->employees;

    return view('employees.index', compact('employees'));
}
Salin selepas log masuk
  1. Eksekutif boleh mengakses dan mengurus data di seluruh syarikat.
public function index()
{
    $user = Auth::user();

    // 高管可以查看所有部门的员工列表
    $employees = Employee::all();

    return view('employees.index', compact('employees'));
}
Salin selepas log masuk
  1. Pekerja biasa hanya boleh mengakses maklumat peribadi mereka sendiri.
public function show($id)
{
    $user = Auth::user();

    // 普通员工只能查看自己的信息
    $employee = Employee::where('id', $id)
                        ->where('user_id', $user->id)
                        ->firstOrFail();

    return view('employees.show', compact('employee'));
Salin selepas log masuk

Atas ialah kandungan terperinci Aplikasi praktikal fungsi kebenaran Laravel: Cara melaksanakan kawalan kebenaran struktur organisasi pengguna. 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)

Cara melaksanakan kawalan kebenaran dan pengurusan pengguna dalam uniapp Cara melaksanakan kawalan kebenaran dan pengurusan pengguna dalam uniapp Oct 20, 2023 am 11:15 AM

Bagaimana untuk melaksanakan kawalan kebenaran dan pengurusan pengguna dalam uniapp Dengan pembangunan aplikasi mudah alih, kawalan kebenaran dan pengurusan pengguna telah menjadi bahagian penting dalam pembangunan aplikasi. Dalam uniapp, kami boleh menggunakan beberapa kaedah praktikal untuk melaksanakan kedua-dua fungsi ini dan meningkatkan keselamatan dan pengalaman pengguna aplikasi. Artikel ini akan memperkenalkan cara untuk melaksanakan kawalan kebenaran dan pengurusan pengguna dalam uniapp, dan menyediakan beberapa contoh kod khusus untuk rujukan. 1. Kawalan Kebenaran Kawalan kebenaran merujuk kepada menetapkan kebenaran pengendalian yang berbeza untuk pengguna atau kumpulan pengguna yang berbeza dalam aplikasi untuk melindungi aplikasi.

Melaksanakan kebenaran pengguna dan kawalan akses menggunakan PHP dan SQLite Melaksanakan kebenaran pengguna dan kawalan akses menggunakan PHP dan SQLite Jul 29, 2023 pm 02:33 PM

Melaksanakan kebenaran pengguna dan kawalan akses menggunakan PHP dan SQLite Dalam aplikasi web moden, kebenaran pengguna dan kawalan akses adalah bahagian yang sangat penting. Dengan pengurusan kebenaran yang betul, anda boleh memastikan bahawa hanya pengguna yang diberi kuasa boleh mengakses halaman dan fungsi tertentu. Dalam artikel ini, kita akan belajar cara melaksanakan kebenaran pengguna asas dan kawalan akses menggunakan PHP dan SQLite. Pertama, kita perlu mencipta pangkalan data SQLite untuk menyimpan maklumat tentang pengguna dan kebenaran mereka. Berikut ialah struktur jadual pengguna ringkas dan jadual kebenaran

Pengurusan pengguna dan kawalan kebenaran dalam Laravel: melaksanakan berbilang pengguna dan tugasan peranan Pengurusan pengguna dan kawalan kebenaran dalam Laravel: melaksanakan berbilang pengguna dan tugasan peranan Aug 12, 2023 pm 02:57 PM

Pengurusan pengguna dan kawalan kebenaran dalam Laravel: Melaksanakan tugasan berbilang pengguna dan peranan Pengenalan: Dalam aplikasi web moden, pengurusan pengguna dan kawalan kebenaran adalah salah satu fungsi yang sangat penting. Laravel, sebagai rangka kerja PHP yang popular, menyediakan alatan yang berkuasa dan fleksibel untuk melaksanakan kawalan kebenaran untuk berbilang pengguna dan tugasan peranan. Artikel ini akan memperkenalkan cara melaksanakan pengurusan pengguna dan fungsi kawalan kebenaran dalam Laravel, dan menyediakan contoh kod yang berkaitan. 1. Pemasangan dan konfigurasi Mula-mula, laksanakan pengurusan pengguna dalam Laravel

Amalan Terbaik untuk Ciri Keizinan Laravel: Cara Mengawal Kebenaran Pengguna dengan Betul Amalan Terbaik untuk Ciri Keizinan Laravel: Cara Mengawal Kebenaran Pengguna dengan Betul Nov 02, 2023 pm 12:32 PM

Amalan terbaik untuk fungsi kebenaran Laravel: Cara mengawal kebenaran pengguna dengan betul memerlukan contoh kod khusus Pengenalan: Laravel ialah rangka kerja PHP yang sangat berkuasa dan popular yang menyediakan banyak fungsi dan alatan untuk membantu kami membangunkan aplikasi web yang cekap dan selamat. Satu ciri penting ialah kawalan kebenaran, yang menyekat akses pengguna ke bahagian aplikasi yang berbeza berdasarkan peranan dan kebenaran mereka. Kawalan kebenaran yang betul ialah komponen utama mana-mana aplikasi web untuk melindungi data dan fungsi sensitif daripada capaian yang tidak dibenarkan

Bagaimana untuk melaksanakan log masuk pengguna dan kawalan kebenaran dalam PHP? Bagaimana untuk melaksanakan log masuk pengguna dan kawalan kebenaran dalam PHP? Jun 29, 2023 pm 02:28 PM

Bagaimana untuk melaksanakan log masuk pengguna dan kawalan kebenaran dalam PHP? Apabila membangunkan aplikasi web, log masuk pengguna dan kawalan kebenaran adalah salah satu fungsi yang sangat penting. Melalui log masuk pengguna, kami boleh mengesahkan pengguna dan melaksanakan satu siri kawalan operasi berdasarkan kebenaran pengguna. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan log masuk pengguna dan fungsi kawalan kebenaran. 1. Fungsi log masuk pengguna Melaksanakan fungsi log masuk pengguna ialah langkah pertama dalam pengesahan pengguna Hanya pengguna yang telah lulus pengesahan boleh melakukan operasi selanjutnya. Berikut ialah proses pelaksanaan log masuk pengguna asas: Cipta

Cara menggunakan kawalan kebenaran dan pengesahan dalam C# Cara menggunakan kawalan kebenaran dan pengesahan dalam C# Oct 09, 2023 am 11:01 AM

Cara menggunakan kawalan kebenaran dan pengesahan dalam C# memerlukan contoh kod khusus Dalam era Internet hari ini, isu keselamatan maklumat telah mendapat perhatian yang semakin meningkat. Untuk melindungi keselamatan sistem dan data, kawalan kebenaran dan pengesahan telah menjadi bahagian yang sangat diperlukan untuk pembangun. Sebagai bahasa pengaturcaraan yang biasa digunakan, C# menyediakan pelbagai fungsi dan perpustakaan kelas untuk membantu kami melaksanakan kawalan kebenaran dan pengesahan. Kawalan kebenaran merujuk kepada menyekat akses pengguna kepada sumber tertentu berdasarkan identiti pengguna, peranan, kebenaran, dsb. Cara biasa untuk melaksanakan kawalan kebenaran adalah dengan

Cara menggunakan ACL (Senarai Kawalan Akses) untuk kawalan kebenaran dalam Rangka Kerja Zend Cara menggunakan ACL (Senarai Kawalan Akses) untuk kawalan kebenaran dalam Rangka Kerja Zend Jul 29, 2023 am 09:24 AM

Cara menggunakan ACL (AccessControlList) untuk kawalan kebenaran dalam Rangka Kerja Zend Pengenalan: Dalam aplikasi web, kawalan kebenaran ialah fungsi penting. Ia memastikan bahawa pengguna hanya boleh mengakses halaman dan ciri yang dibenarkan untuk mereka akses dan menghalang akses yang tidak dibenarkan. Rangka kerja Zend menyediakan cara yang mudah untuk melaksanakan kawalan kebenaran, menggunakan komponen ACL (AccessControlList). Artikel ini akan memperkenalkan cara menggunakan ACL dalam Rangka Kerja Zend

Kemahiran pembangunan Vue: melaksanakan penghalaan dinamik dan kawalan kebenaran Kemahiran pembangunan Vue: melaksanakan penghalaan dinamik dan kawalan kebenaran Nov 02, 2023 pm 12:12 PM

Kemahiran pembangunan Vue: Melaksanakan penghalaan dinamik dan kawalan kebenaran Pengenalan: Dalam aplikasi web moden, penghalaan dinamik dan kawalan kebenaran adalah fungsi penting. Untuk aplikasi yang besar, pelaksanaan kedua-dua fungsi ini boleh meningkatkan pengalaman dan keselamatan pengguna dengan ketara. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Vue untuk melaksanakan teknik pembangunan untuk penghalaan dinamik dan kawalan kebenaran. Kami akan menggambarkan aplikasi khusus teknik ini dengan contoh. 1. Penghalaan dinamik Penghalaan dinamik merujuk kepada mencipta dan menghuraikan laluan secara dinamik berdasarkan peranan pengguna atau keadaan lain semasa aplikasi berjalan. lulus

See all articles