使用在许多用户之间共享的身份的asp.net MVC应用程序中的最佳做法是什么,每个用户都有自己的记录/帐户集,并且任何给定的用户都不应该访问除了他们自己以外的任何用户记录?
即。如果用户1 浏览到网址gadgets/details/10
,该网址会返回一个视图,其中包含用户1创建且应该有权访问的记录,其中10
是记录/模型的ID ,用户1无意中尝试浏览gadgets/details/11
,其中包含身份11
的记录归用户2所有。
除了遍历数据库关系从小工具一直到与用户帐户关联的任何实体(即小工具有GadgetCategories的外键,GadgetCategories有商店的外键,用户有商店的外键,然后可以使用HttpContext和OwinContext的用户属性对用户进行比较,是否有办法确认用户正在访问他们应该访问的记录,并拒绝他们无法访问的任何请求?
这些情况的最佳做法是什么?