|
Xo‘jamuratov B
|
bet | 8/10 | Sana | 14.05.2024 | Hajmi | 107,29 Kb. | | #231623 |
Bog'liq auth1 - Поскольку модели ролей и разрешений расширены по сравнению с моделями Eloquent, также можно использовать базовые вызовы Eloquent:
- $all_users_with_all_their_roles = User::with('roles')->get(); $all_users_with_all_their_direct_permissions = User::with('permissions')->get(); $all_roles_in_database = Role::all()->pluck('name’);
- $users_without_any_roles = User::doesntHave('roles')->get(); $all_roles_except_a_and_b = Role::whereNotIn('name', ['role A', 'role B'])->get();
Noqonuniy murojaatlar - Rol va ruxsat modellari Eloquent modellaridan tashqari kengaytirilganligi sababli siz asosiy Eloquent chaqiruvlaridan ham foydalanishingiz mumkin:
- $all_users_with_all_their_roles = User::with('roles')->get(); $all_users_with_all_their_direct_permissions = User::with('permissions')->get(); $all_roles_in_database = Role::all()->pluck('name’);
- $users_without_any_roles = User::doesntHave('roles')->get(); $all_roles_except_a_and_b = Role::whereNotIn('name', ['role A', 'role B'])->get();
Промежуточное программное обеспечение по умолчанию - Для проверки на соответствие одному разрешению (см. Рекомендации) используйте can, вы можете использовать встроенное промежуточное программное обеспечение Laravel, предоставленное \Illuminate\Auth\Middleware\Authorize::class вот так:
- Route::group(['middleware' => ['can:publish articles']], function () { // });
- В Laravel версии 10.9 и выше вы также можете вызвать это промежуточное программное обеспечение с помощью статического метода.
- Route::group(['middleware' => [\Illuminate\Auth\Middleware\Authorize::using('publish articles')]], function () { // });
Standart middleware - Yagona ruxsatni (eng yaxshi amaliyotlar) ishlatish mumkinligini tekshirish uchun siz \Illuminate\Auth\Middleware\Authorize::class tomonidan taqdim etilgan o'rnatilgan Laravel o'rta dasturidan foydalanishingiz mumkin:
- Route::group(['middleware' => ['can:publish articles']], function () { // });
- Laravel 10.9 va undan yuqori versiyalarida siz ushbu o'rta dasturni statik usul yordamida ham chaqirishingiz mumkin.
- Route::group(['middleware' => [\Illuminate\Auth\Middleware\Authorize::using('publish articles')]], function () { // });
|
| |