Хорошо, предположим, что у вас есть эта схема БД (отношение):
|User | (1-->n) |Customer | (1-->n) |Car | (1-->n) |Support |
|--------| |---------| |-----| |-----------|
|id | | user_id | |Brand| |Description|
|username| |lastname | |PS | |Cost |
|password| |firstname| |seats| |hours |
|... | |.. | |... | |... |
Таблица User генерируется Authlogic.
У меня 2 зарегистрированных пользователя, у каждого есть свои клиенты и т. Д. С Authlogic я могу разрешить только проверенным пользователям получать доступ к контроллерам / представлениям. Отлично, для этого и создан Authlogic.
Теперь мне нужно быть уверенным, что пользователь № 1 никогда не получит информацию, принадлежащую клиентам пользователя № 2.
Другими словами:
если пользователь # 1 перейдет на http://myapp.com/cars, он увидит список автомобилей, принадлежащих клиентам пользователя # 1
если автомобиль с id = 131 принадлежит клиенту пользователя # 1, только пользователь # 1 должен иметь доступ к этой информации (http://myapp.com/car/1). Если пользователь # 2 вставляет в браузер то же самое ссылка, которую он не должен видеть эту информацию.
Некоторые люди предложили мне создать связь между пользователем и каждой таблицей БД, чтобы проверить, связана ли запись с current_user.
Что вы думаете? Каков наилучший подход / решение?