好的,假设有这个数据库模式(关系):
|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 相关联。
你怎么看?最好的方法/解决方案是什么?