我正在使用实体(链接到 Postgres,但不确定该部分是否相关)在 MVC3 中编写一个站点。
用户是多个“联盟”的一部分,并针对其中一个联盟创建“事件”。
将有其他用户可以访问该联赛,当他们查看事件列表时,我需要该列表仅显示他们有权访问的“联赛”中的那些“事件”。
现在有很多方法可以实现这一点,但我正在寻找最优雅和被广泛接受的“正确方法”。
目前,用户 -> 联赛关系与其余数据保存在同一位置,因此我可以毫无问题地按联赛进行过滤。我的问题是我不确定是否应该访问 HttpContext 以获取存储库层中的 userId 来执行过滤。
如果我不执行上述操作,我正在考虑使用 RoleMembership 功能并制作联赛、角色,然后有内置功能可以做到这一点。
问题是,在 MVC3/Entity 中按用户访问过滤结果数据的最佳做法是什么?
博客/教程链接是首选,但也可以接受完整的答案...