redAi Developers

Trasy i bramki dostępu

trasy.php to zwykły plik tras Laravela. Portal sam dokłada do każdej trasy:

  • logowanie,
  • bramkę module:tools i tool:<klucz>: moduł musi być włączony na instancji, a osoba musi mieć do niego dostęp. Kto nie ma dostępu, trafia na listę narzędzi z komunikatem,
  • prefiks adresu (trasy.prefiks) i przedrostek nazw (trasy.nazwy).
PHP
<?php

use Illuminate\Support\Facades\Route;
use Narzedzia\FakturyKosztowe\FakturyController;

Route::get('/', [FakturyController::class, 'index'])->name('index');      // faktury_kosztowe.index = ekran startowy
Route::post('/', [FakturyController::class, 'store'])->name('store');
Route::get('/{faktura}', [FakturyController::class, 'show'])->name('show');
  • Kontrolery trzymacie w src/ (extends App\Http\Controllers\Controller).
  • Bez trasy startowej (<nazwy><start>, domyślnie <klucz>.index) moduł nie pokaże się na liście narzędzi.
  • W kontrolerze sprawdzacie tylko własne reguły rekordów, np. abort_unless($rekord->mozeEdytowac($user), 403). Włączenia i dostępu osób nie sprawdzacie, robi to bramka.
  • \App\Support\Narzedzia::zarzadza($user) mówi, czy osoba zarządza narzędziami (zwykle administrator, widzi wszystkie rekordy).

Kto ma dostęp. Administrator instancji w Administracja › Moduły › <moduł> włącza moduł i wybiera, kto może z niego korzystać: wszyscy albo wybrane osoby i grupy. Każda osoba z dostępem może jeszcze przypiąć moduł do swojego menu po lewej.

Trasy bez logowania. Plik trasy-publiczne.php (np. webhook, podgląd dla klienta). Tu portal dokłada tylko przedrostek nazw. O dostępie i limitach decydujecie sami:

PHP
<?php

use Illuminate\Support\Facades\Route;
use Narzedzia\FakturyKosztowe\WebhookController;

Route::post('/webhook/faktury-kosztowe', [WebhookController::class, 'przyjmij'])
    ->middleware('throttle:30,1')
    ->name('webhook');

Krótkie adresy /<adres> (jak strony i formularze) robicie hakiem pokazAdres, nie własną trasą /{cos}.

Ostatnia zmiana dokumentacji: 29.09.2026. Pytania: m@redai.pl.