Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Laravel] Pobieranie rekordów zależne od roli
john_doe
post
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


Hej

Każdy user jest przypisany do firmy.
User jest też przypisany do roli ( może mieć wiele ról ).
Chciałbym osiągnąć funkcjonalność gdzie:

NP 1 ) Admin widzi wszystko: dokumenty, wszystkie combosy wypełnione wszystkim, etc

NP 2 ) User widzi: dokumenty z jego firmy. Jeszcze nie wiem czy nagłówki dokumentów będę wiązał z userem czy z firmą. Ale dla tych dywagacji nie ma to większego znaczenia.
Będę też miał pozycje dokumentu. Trzeba coś wymyślić aby metoda showDocumentElements(int DocumentId) nie pozwalała zobaczyć pozycji z nieswojego dokumentu
Etc.
Proszę Was o podpowiedz, kawałek kodu, coś co zobrazuje jak to powinno być napisane.

Temat myśle bardzo uniwersalny i każdy z niego zaczerpie.

Nie chciałbym tworzyć osobnych kontrolerów dla ról.
Zastanawiam się czy nie wystawić serwisu jakiegoś, którego metody dostawałyby role usera i na ten podstawie pobierały z repozytorium odpowienie dane? ( na ifach )
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
r4xz
post
Post #2





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

Ostrzeżenie: (0%)
-----


Musisz zrobić sobie policy, możesz to zrobić poleceniem
Kod
php artisan make:policy DocumentPolicy
, a następnie w AuthServiceProvider musisz to jawnie wskazać który model ma z tego policy korzystać, znajdziesz to w sekcji "Registering Policies" (link w poprzednim moim poście). Potem w kontrolerze robisz tylko coś w stylu
Kod
if ($user->can('update', $document)) { /* ... */}
. Wszystko jest dokłądnie opisaane na tej jednej stronie którą podesłałem, przeczytaj, nie ma tego dużo.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 12:08