Buduję aplikację Laravel 4, która wymaga uwierzytelnienia logowania dla 3 typów jednostek: Coach, Student & Admin, wszystkie z osobnymi interfejsami użytkownika. Chociaż mógłbym użyć pakietu takiego jak Sentry 2 i jednej tabeli użytkowników DB z typami użytkowników, aby osiągnąć ten cel, coś o potencjalnych polimorficznych wzorach projektów DB i bólach głowy, które mogą pojawić się na torze, nie pasują do mnie. Mając do czynienia z problemami polimorficznymi w przeszłości z poprzednimi aplikacjami i żałobą, jaką może stworzyć, gdy chcesz znormalizować strukturę DB, itp. Posiadanie oddzielnych tabel DB dla każdego typu jednostki wydaje się lepszym rozwiązaniem.Laravel 4 Multi User Authentication
Jak rozwiązać ten problem z projektowaniem?
laravel 4 auth wykorzystuje zasadniczo następujące pliki:
- Auth.php (fasada)
- AuthManager.php
- AuthServiceProvider.php
- Guard.php
- auth.php (config)
- User.php (model elokwentny)
Odtwarzałem duplikację tych plików, aby uzyskać głównie niezależny autorytet dla podmiotu, który działa, rejestrując fasadę i dostawcę usług w pliku app.php, a także wprowadzając niezbędne zmiany w konfiguracji skorzystać z autokarów wymowne model uwierzytelniania:
- AuthCoach.php (fasada)
- AuthCoachManager.php
- AuthCoachServiceProvider.php
- Guard.php
- authcoach.php (config)
- Coach.php (wymowny modelu)
nadal używam Guard.php ze standardowego laravel 4 auth, ale Gwardia można łatwo rozszerzyć, jeśli zajdzie taka potrzeba, aby dostosować metody uwierzytelniania straży trenera poprzez tworzenie Plik GuardCoach.php.
Jeśli mam mieć oddzielne uwierzytelnienie dla każdego typu jednostki, czy uważasz, że jest to dobry sposób na osiągnięcie tego?
Czy widzisz potencjalne problemy lub znasz lepszy sposób na zrobienie tego?
Mam odpowiedział podobne pytanie tutaj: http://stackoverflow.com/questions/18785754/laravel-4-need-to-auth-with -2-różne-tabele/19139889 # 19139889 Nie jestem pewien, czy to pomoże ... – Xethron
Czy kiedykolwiek rozwiązałeś to? – ollieread