Làm cách nào để đặt quyền và vai trò trong laravel?

Ví dụ: chúng tôi có thể chỉ định người dùng là quản trị viên, kế toán, nhà điều hành hay người dùng cuối và giới hạn quyền truy cập vào các tài nguyên hoặc tác vụ cụ thể dựa trên vai trò và trách nhiệm của họĐiều này bảo vệ dữ liệu nhạy cảm và đảm bảo người dùng chỉ có thể truy cập thông tin và thực hiện các hành động mà họ được phép

 

Để triển khai Vai trò và Quyền, chúng tôi sử dụng gói “Spatie vai trò và quyền”. Gói này cung cấp API để xử lý vai trò và quyền dễ dàng hơn. Ngoài ra, mã cuối cùng thân thiện với người đọc và dễ hiểu hơn.

 

Giới thiệu về quyền của Vai trò Spatie 

Gói quyền của vai trò Spatie cung cấp cho chúng tôi cách quản lý mức kiểm soát Truy cập trong Laravel. Sử dụng gói này, chúng tôi có thể gán một hoặc nhiều vai trò và quyền cho người dùng.  Chúng ta không cần viết các quy tắc trong Chính sách hoặc Cổng, chúng ta chỉ cần gọi hàm với các đối số bắt buộc.


Cấu trúc cơ sở dữ liệu

Gói này sẽ tạo 5 bảng trong cơ sở dữ liệu, đó là.  

  1. vai trò. Trong bảng này, chúng tôi lưu trữ một danh sách các vai trò
  2. Quyền. Lưu trữ danh sách các quyền
  3. Vai trò_có_quyền. Lưu trữ danh sách role_id được đồng bộ hóa với permission_id
  4. Model_has_roles. Bảng này chỉ có 3 cột role_id, model_id và model_type
    • role_id là khóa ngoại từ bảng vai trò
    • mô hình là một khóa ngoại từ bảng người dùng
    • model_type lưu trữ đường dẫn của mô hình người dùng. Giá trị mặc định của cột model_type là ‘Ứng dụng/Người dùng’, vì theo cấu trúc của Laravel, bảng người dùng mặc định tồn tại ở cùng một vị trí

      Xin chào Dev, Vì vậy, hôm nay chúng ta sẽ tìm hiểu về Laravel 9 User Roles and Permissions Tutorial Ví dụ. Hướng dẫn này sẽ bao gồm hướng dẫn về vai trò và quyền của người dùng trong laravel 9 với ví dụ

      Cuối cùng, chúng ta sẽ sử dụng gói quyền spatie/laravel cho hướng dẫn này. Gói trình soạn thảo quyền và vai trò Spatie cung cấp cách tạo ACL trong laravel 9. Họ cung cấp cách…

      Trong bài đăng này, tôi sẽ chia sẻ cách triển khai Phương thức ACL Vai trò & Quyền trên Laravel 8 và 9 với hướng dẫn từng bước sẽ giúp bạn hiểu quy trình. Chúng tôi biết rằng việc triển khai vai trò và quyền của người dùng là một trong những chức năng cơ bản cần triển khai trong các ứng dụng web của chúng tôi để hạn chế người dùng cụ thể chỉ quản trị viên mới được phép truy cập. Đó là lý do tại sao chúng ta cần triển khai người dùng dựa trên vai trò với các quyền được chỉ định. Trong ví dụ này, tôi tự động đọc route dưới dạng quyền thông qua phần mềm trung gian để bạn không cần phải thêm thủ công. Chúng tôi cũng có một tính năng trong ví dụ này để thêm quyền theo cách thủ công

       

      Bằng cách làm theo hướng dẫn này, việc triển khai quyền Laravel và bảo mật tài khoản người dùng của bạn sẽ dễ dàng hơn

       

      Trong ví dụ này tôi đã thêm các mô-đun sau

       

      • Quản lý người dùng
      • - Tạo quản lý người dùng đơn giản bằng Laravel 9 để bạn dễ dàng xin phép Laravel hơn
      • Quản lý vai trò
      • - Quản lý vai trò đơn giản sẽ giúp chúng tôi thêm vai trò cho tài khoản người dùng và xác định người dùng đã gán quyền Laravel
      • Quản lý quyền
      • - Quản lý quyền của Laravel sẽ liệt kê tất cả các tên tuyến đường bằng cách sử dụng lệnh bảng điều khiển Laravel
      • Quản lý sản phẩm
      • - Quản lý sản phẩm đơn giản và đăng ký quyền Laravel với từng vai trò là người dùng

       

      Với xác thực mà bạn có thể làm theo trong hướng dẫn trước của tôi

       

       

       

      Vì vậy, hãy bắt đầu

       

      Bước 1. Cài đặt Laravel

      Tôi cho rằng bạn đã có dự án của mình ở địa phương. Để rút ngắn bài đăng này, vui lòng làm theo hướng dẫn trước của tôi với chức năng xác thực

       

      Hoặc chạy và sao chép hướng dẫn trước đây của tôi về xác thực

      git clone //github.com/codeanddeploy/laravel8-authentication-example.git

       

      Sau đó, khi bạn sao chép nó, chỉ cần sao chép và dán nó vào htdocs của bạn nếu bạn sử dụng Wampp trên Windows

       

      Sau đó điều hướng dự án của bạn và chạy lệnh này

      composer update

       

      Bước 2. Cài đặt gói

      Tiếp theo, chúng ta cần cài đặt các gói Laravel cho ACL và Form Collections. Chạy lệnh sau bên dưới

      composer require spatie/laravel-permission
      composer require laravelcollective/html

       

      Sau đó chạy lệnh này

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

       

      Sau khi chạy lệnh trên, bạn sẽ thấy một tệp cấu hình có tên là quyền. php và di chuyển với *_permission_tables. php. Bây giờ hãy chạy lệnh để di chuyển các bảng quyền

       

      php artisan migrate

       

      Bước 3. Tạo bài di chuyển

      Tiếp theo, chúng tôi sẽ tạo một di chuyển cho bảng bài viết. Chạy lệnh sau để làm điều đó

      php artisan make:migration create_posts_table

       

      Sau đó, hãy thực hiện di chuyển sau của chúng tôi. Xem bên dưới mã hoàn chỉnh

Chủ Đề