Tôi đang tạo ứng dụng Laravel 4 yêu cầu xác thực đăng nhập cho 3 loại thực thể: Huấn luyện viên, Sinh viên & Quản trị viên, tất cả đều có giao diện người dùng riêng biệt. Trong khi tôi có thể sử dụng một gói như Sentry 2 và một bảng người dùng DB duy nhất với các kiểu người dùng để đạt được điều này, một cái gì đó về các mẫu thiết kế DB đa hình tiềm năng và nhức đầu có thể xảy ra theo dõi, không ngồi tốt với tôi. Đã xử lý các vấn đề đa hình trong quá khứ với các ứng dụng trước đó, và nỗi đau nó có thể tạo ra khi bạn muốn bình thường hóa cấu trúc DB của bạn, vv .. có các bảng DB riêng cho từng loại thực thể có vẻ tốt hơn.Laravel 4 Xác thực đa người dùng
Bạn giải quyết vấn đề thiết kế này như thế nào?
Laravel 4 auth sử dụng về cơ bản các tập tin sau đây:
- Auth.php (mặt tiền)
- AuthManager.php
- AuthServiceProvider.php
- Guard.php
- auth.php (config)
- User.php (mô hình eloquent)
Tôi đã chơi xung quanh bằng cách sao chép các tệp này để tạo ra hầu hết độc lập cho thực thể huấn luyện hoạt động, đăng ký mặt tiền và nhà cung cấp dịch vụ trong tệp app.php, cũng như thực hiện các thay đổi cần thiết để định cấu hình sử dụng mô hình hùng hồn HLV để xác thực:
- AuthCoach.php (mặt tiền)
- AuthCoachManager.php
- AuthCoachServiceProvider.php
- Guard.php
- authcoach.php (config)
- Coach.php (model hùng hồn)
tôi vẫn đang sử dụng Guard.php từ tiêu chuẩn Laravel 4 auth, nhưng Guard có thể dễ dàng được mở rộng nếu có nhu cầu để tùy chỉnh phương pháp Guard để xác thực HLV bằng cách tạo ra một Tệp GuardCoach.php.
Nếu tôi sẽ có auth riêng biệt cho từng loại thực thể, bạn có nghĩ đây là một cách hay để đạt được nó không?
Bạn có thấy bất kỳ vấn đề tiềm ẩn nào hoặc biết cách làm tốt hơn không?
tôi đã trả lời một câu hỏi tương tự ở đây: http://stackoverflow.com/questions/18785754/laravel-4-need-to-auth-with -2-khác-bàn/19139889 # 19139889 Không chắc chắn nếu nó sẽ giúp ... – Xethron
Bạn đã bao giờ giải quyết điều này? – ollieread