Quyền của laravel là gì?

Được đăng ban đầu @ https. // mã và triển khai. com truy cập và tải xuống mã mẫu. https. // mã và triển khai. com/blog/laravel/laravel-8-user-roles-and-permissions-step-by-step-tutorial

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ớ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 mình tự động đọc route dưới dạng quyền thông qua middleware nên bạn không cần add 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 8 để 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 https://github.com/codeanddeploy/laravel8-authentication-example.git

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

composer require laravelcollective/html

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

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

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau khi chạy lệnh trên, bạn sẽ thấy tệp cấu hình có tên

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

9 và các lần 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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

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

________số 8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau đó chạy, di chuyển

php artisan migrate

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bước 4. Tạo mô hình

Tiếp theo, chúng tôi sẽ tạo các mô hình của chúng tôi và thiết lập các chi tiết quan trọng. Nếu bạn đang sử dụng hướng dẫn xác thực trước đây của tôi, bạn chỉ cần cập nhật mô hình Người dùng. Xem các mã hoàn chỉnh sau đây

ứng dụng/Mô hình/Người dùng. php

composer update
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tiếp theo, chúng ta sẽ tạo một model cho Post. Chạy lệnh sau

composer update
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đăng mã mô hình bên dưới

ứng dụng/Mô hình/Bài đăng. php

composer update
1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bước 5. Thêm phần mềm trung gian

Trong ví dụ này, tôi đang thực hiện một phần mềm trung gian tùy chỉnh cho Quyền của chúng tôi để đọc tuyến đường hiện tại nếu chúng tôi cho phép

Hãy tạo phần mềm trung gian tùy chỉnh của chúng tôi. Chạy lệnh sau

composer update
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Và đây là mã tùy chỉnh của lớp PermissionMiddlware của chúng tôi. Điều hướng đến Ứng dụng\Http\Middleware\PermissionMiddleware. php

composer update
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau đó, hãy đăng ký phần mềm trung gian đã tạo của chúng tôi và phần mềm trung gian Spatie mặc định

Bây giờ, hãy điều hướng tệp app/Http/Kernel. php thì trong thuộc tính $routeMiddleware chúng ta sẽ thêm các phần mềm trung gian sau

composer update
4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Như bạn có thể thấy ở trên, chúng tôi đã thêm phần mềm trung gian tùy chỉnh của mình

Bước 6. Thêm tuyến đường

Bây giờ, hãy thêm các tuyến đường của chúng tôi, nếu bạn đang sử dụng xác thực Laravel 8 của tôi, chỉ cần chỉnh sửa hoặc sao chép mã tuyến đường hoàn chỉnh bên dưới

composer update
5

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bước 7. Thêm bộ điều khiển

Trong bước này, chúng tôi sẽ thêm bộ điều khiển cho Người dùng, Bài đăng, Vai trò và Quyền, vui lòng xem từng bộ điều khiển bên dưới

Ứng dụng\Http\Controllers\UsersController. php

composer update
6

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ứng dụng\Http\Controllers\PostController. php

composer update
7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ứng dụng\Http\Controllers\RolesController. php

composer update
8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ứng dụng\Http\Controllers\PermissionsController. php

composer update
9

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bước 8. Thêm yêu cầu

Trong UsersController của tôi, tôi đã triển khai một yêu cầu cụ thể cho từng hành động, nó sẽ giúp rút ngắn mã của bạn và đặt các chức năng khác cũng như kiểm tra sang một lớp khác và mã của bạn dễ đọc hơn

Chạy các lệnh sau bên dưới để tạo yêu cầu

composer require spatie/laravel-permission
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau khi hoàn thành, vui lòng xem mã của từng yêu cầu

Ứng dụng\Http\Requests\StoreUserRequest. php

composer require spatie/laravel-permission
1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ứng dụng\Http\Requests\UpdateUserRequest. php

composer require spatie/laravel-permission
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bước 9. Thêm tập tin Blade

Trong bài đăng này, chúng tôi sẽ tạo các tệp phiến của chúng tôi để xem và bố cục của chúng tôi

tài nguyên/lượt xem/bố cục/ứng dụng chính. lưỡi. php

composer require spatie/laravel-permission
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/bố cục/phần/thông báo. lưỡi. php

composer require spatie/laravel-permission
4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/bố cục/phần/thanh điều hướng. lưỡi. php

composer require spatie/laravel-permission
5

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/quyền/tạo. lưỡi. php

composer require spatie/laravel-permission
6

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/quyền/chỉnh sửa. lưỡi. php

composer require spatie/laravel-permission
7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/quyền/chỉ mục. lưỡi. php

composer require spatie/laravel-permission
8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/bài đăng/tạo. lưỡi. php

composer require spatie/laravel-permission
9

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/bài đăng/chỉnh sửa. lưỡi. php

composer require laravelcollective/html
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/bài đăng/chỉ mục. lưỡi. php

composer require laravelcollective/html
1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/bài đăng/hiển thị. lưỡi. php

composer require laravelcollective/html
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/vai trò/tạo. lưỡi. php

composer require laravelcollective/html
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/vai trò/chỉnh sửa. lưỡi. php

composer require laravelcollective/html
4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/vai trò/chỉ mục. lưỡi. php

composer require laravelcollective/html
5

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/vai trò/hiển thị. lưỡi. php

composer require laravelcollective/html
6

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/người dùng/tạo. lưỡi. php

composer require laravelcollective/html
7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/người dùng/chỉnh sửa. lưỡi. php

composer require laravelcollective/html
8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/người dùng/chỉ mục. lưỡi. php

composer require laravelcollective/html
9

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

tài nguyên/lượt xem/người dùng/hiển thị. lưỡi. php

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

0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bước 10. Tạo lệnh

Tiếp theo, chúng ta sẽ tạo một lệnh để tạo quyền laravel bằng cách sử dụng tên route. Chạy lệnh bên dưới

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

1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Điều hướng Ứng dụng\Console\Commands\CreateRoutePermissionsCommand. php và sao chép mã bên dưới

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

2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau đó, tiếp theo, hãy chạy lệnh đã tạo

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

3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

GHI CHÚ. Nếu bạn đang trong quá trình sản xuất, vui lòng thêm bộ lập lịch cho lệnh này để bạn không cần phải chạy thủ công

Bước 11. Thêm Seeder quản trị người dùng

Tiếp theo, chúng ta nên có người dùng mặc định là quản trị viên để bạn có thể truy cập hệ thống của mình bằng người dùng mặc định đã tạo

Chạy lệnh sau

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

4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau đó điều hướng*Database\Seeders\CreateAdminUserSeeder. php* và sao chép mã bên dưới

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

5

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau đó chạy lệnh sau

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

6

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bây giờ bạn đã có một quản trị viên mà bạn có thể sử dụng để đăng nhập và kiểm tra các Quyền và Vai trò Người dùng Laravel 8 ACL của mình

Bây giờ bạn đã sẵn sàng. Chạy lệnh sau để kiểm tra

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

7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau đó truy cập nó vào trình duyệt của bạn

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

8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đừng quên rằng thông tin đăng nhập của bạn là

email. quản trị viên
mật khẩu. quản trị123

Tôi hy vọng hướng dẫn này có thể giúp bạn. Vui lòng truy cập tại đây https. // mã và triển khai. com/blog/laravel/laravel-8-user-roles-and-permissions-step-by-step-tutorial nếu bạn muốn tải xuống mã này

Vai trò và quyền trong laravel là gì?

Quyền là quyền có quyền truy cập vào nội dung nào đó, chẳng hạn như một trang trong ứng dụng web. Một vai trò chỉ là một tập hợp các quyền . Để cung cấp cho điều này một chút ngữ cảnh, hãy lấy một ví dụ đơn giản về hệ thống quản lý nội dung [CMS].

Làm cách nào để có được sự cho phép của người dùng trong laravel?

Có thể gán quyền cho vai trò bằng 1 trong các phương pháp này. $role->givePermissionTo[$permission]; . $role->syncPermissions[$permissions]; Multiple permissions can be synced to a role using 1 of these methods: $role->syncPermissions[$permissions]; $permission->syncRoles[$roles];

Làm cách nào để gán quyền trong laravel?

Hướng dẫn từng bước về vai trò và quyền của người dùng Laravel 9 .
Bước 1. Cài đặt Laravel
Bước 2. Cài đặt gói
Bước 3. Tạo bài di chuyển
Bước 4. Tạo mô hình
Bước 5. Thêm phần mềm trung gian
Bước 6. Thêm tuyến đường
Bước 7. Thêm bộ điều khiển
Bước 8. Thêm yêu cầu

Làm cách nào để triển khai vai trò và quyền trong Laravel 8?

Vậy chúng ta bắt đầu nào. .
Bước 1. Cài đặt Laravel. Tôi cho rằng bạn đã có dự án của mình ở địa phương. .
Bước 2. Cài đặt gói. .
Bước 3. Tạo bài di chuyển. .
Bước 4. Tạo mô hình. .
Bước 5. Thêm phần mềm trung gian. .
Bước 6. Thêm tuyến đường. .
Bước 7. Thêm bộ điều khiển. .
Bước 8. Thêm yêu cầu

Chủ Đề