Добавление возможностей в Laravel Bouncer: методы и примеры кода

В Laravel Bouncer вы можете добавлять возможности ролям или пользователям, чтобы контролировать, какие действия они могут выполнять в вашем приложении. Вот несколько методов, которые вы можете использовать для добавления способностей с помощью Laravel Bouncer, а также примеры кода:

Метод

  1. allow:
    Этот метод позволяет роли или пользователю выполнять определенную способность.
use Silber\Bouncer\Bouncer;
// Allow a role to edit articles
Bouncer::allow('editor')->to('edit', Article::class);
// Allow a user to delete comments
$user->allow('delete', Comment::class);
    Метод

  1. disallow:
    Этот метод отменяет ранее предоставленную возможность роли или пользователя.
use Silber\Bouncer\Bouncer;
// Revoke the ability to delete comments from the 'editor' role
Bouncer::disallow('editor')->to('delete', Comment::class);
// Revoke the ability to edit articles from the authenticated user
$user->disallow('edit', Article::class);
    Метод

  1. запретить:
    Этот метод запрещает роли или пользователю выполнять определенную способность. Запрет имеет приоритет над разрешением.
use Silber\Bouncer\Bouncer;
// Forbid the 'guest' role from creating articles
Bouncer::forbid('guest')->to('create', Article::class);
// Forbid the authenticated user from deleting comments
$user->forbid('delete', Comment::class);
    Метод

  1. allowAny:
    Этот метод позволяет роли или пользователю выполнять любую из указанных способностей.
use Silber\Bouncer\Bouncer;
// Allow the 'admin' role to perform any ability on the Article model
Bouncer::allow('admin')->to('edit', 'delete', Article::class);
// Allow the authenticated user to perform any ability on the Comment model
$user->allowAny(['publish', 'delete'], Comment::class);

Это всего лишь несколько примеров методов, доступных в Laravel Bouncer для добавления способностей. Вы можете изучить документацию Laravel Bouncer для получения более подробной информации и дополнительных методов.