• Noqonuniy murojaatlar
  • Промежуточное программное обеспечение по умолчанию
  • Standart middleware
  • Xo‘jamuratov B




    Download 107,29 Kb.
    bet8/10
    Sana14.05.2024
    Hajmi107,29 Kb.
    #231623
    1   2   3   4   5   6   7   8   9   10
    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 () { // });

    Download 107,29 Kb.
    1   2   3   4   5   6   7   8   9   10




    Download 107,29 Kb.