Я создаю приложение Laravel 4, для которого требуется аутентификация для 3 типов сущностей: Coach, Student & Admin, все с отдельными пользовательскими интерфейсами. Хотя я мог использовать пакет, такой как Sentry 2, и одну таблицу пользователей БД с пользовательскими типами для достижения этого, что-то о потенциальных шаблонах проектирования полиморфных БД и головных болях, которые могут произойти по дорожке, не подходят мне. Рассмотрев полиморфные проблемы в прошлом с предыдущими приложениями и горе, которое он может создать, когда вы хотите нормализовать структуру БД и т. Д., Имеющие отдельные таблицы БД для каждого типа сущности, кажется лучшим способом.Laravel 4 Многопользовательская аутентификация
Как бы вы решили эту проблему дизайна?
Laravel 4 аутентификации использует в основном следующие файлы:
- auth.php (фасад)
- AuthManager.php
- AuthServiceProvider.php
- Guard.php
- auth.php (config)
- User.php (эколокт-модель)
Я играл с дублированием этих файлов, чтобы создать в основном независимый auth для объекта-тренера, который работает, регистрируя фасад и поставщика услуг в файле app.php, а также внося необходимые изменения в config для использовать тренер красноречивую модель для аутентификации:
- AuthCoach.php (фасад)
- AuthCoachManager.php
- AuthCoachServiceProvider.php
- Guard.php
- authcoach.php (конфигурация)
- Coach.php (красноречивая модель)
Я до сих пор использую Guard.php от стандартного Laravel 4 AUTH, но Guard может быть легко расширена, если возникает необходимость настроить методы Guard для аутентификации тренера путем создания Файл GuardCoach.php.
Если у меня будет отдельный auth для каждого типа сущности, вы думаете, что это хороший способ достичь этого?
Вы видите потенциальные проблемы или знаете лучший способ сделать это?
Я ответил здесь подобный вопрос: http://stackoverflow.com/questions/18785754/laravel-4-need-to-auth-with -2-different-tables/19139889 # 19139889 Не уверен, что это поможет ... – Xethron
Вы когда-нибудь решали это? – ollieread