---
title: "Oprávnenia — Teams for Laravel | Roundly"
description: "Register oprávnení pre výberové UI so skupinami a zberom z rolí, plus programové overovanie oprávnení a rolí."
url: https://roundly-consulting.com/sk/open-source/navody/teams-for-laravel/opravnenia
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Teams for Laravel](https://roundly-consulting.com/sk/open-source/navody/teams-for-laravel.md)

# Oprávnenia

Oprávnenia sú obyčajné reťazcové kľúče na rolách. Register oprávnení, Teams::permissions(), vypíše všetky známe oprávnenia — pre editor rolí či výber oprávnení — bez ohľadu na to, ktoré roly ich používajú. Oprávnenia sú konštanty v kóde, preto register žije v pamäti (databázový driver neexistuje):

```php
use RoundlyConsulting\Teams\Facades\Teams;

Teams::permissions()->register('posts.publish', 'Publish posts', group: 'Content');
Teams::permissions()->register('billing.manage', 'Manage billing', group: 'Billing');
Teams::permissions()->group('Content', ['posts.edit', 'posts.delete']);

Teams::permissions()->all();                   // array<string, Permission> — registered only
Teams::permissions()->find('posts.publish');   // ?Permission
Teams::permissions()->fromRoles();             // registered + every distinct permission declared on roles
```

group() označí oprávnenia skupinou pre UI a zachová názvy už zaregistrovaných. fromRoles() pridá každé jedinečné oprávnenie deklarované na zaregistrovaných rolách, takže aj aplikácia, ktorá oprávnenia deklarovala len na rolách, dostane úplný katalóg:

```php
// Section a permission picker by group:
$grouped = collect(Teams::permissions()->fromRoles())->groupBy('group');

$permission = Teams::permissions()->find('posts.publish');
$permission->key;     // 'posts.publish'
$permission->name;    // 'Publish posts'
$permission->group;   // 'Content'
```

## Overovanie oprávnení

```php
$team->memberHasPermission($user, 'posts.publish');   // bool
$user->hasTeamPermission($team, 'posts.publish');     // bool — HasTeams
$team->memberHasRole($user, 'admin');                 // bool

$role = $team->findMember($user)?->role();
$role?->hasAnyPermission(['posts.edit', 'posts.publish']);
```

memberHasPermission() načíta rolu člena (s ohľadom na úpravy pre tím) a pre nečlenov, expirované členstvá a nezaregistrované roly vráti false. V controlleroch a šablónach radšej použite Gate — pozrite Gate, Blade a policies.

## Výpis oprávnení

```bash
php artisan teams:permissions   # Key | Name | Group
```

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/teams-for-laravel.md)
