【发布时间】:2010-03-10 15:18:49
【问题描述】:
我们正在开发一个 ASP.NET MVC 应用程序,目前它使用自己的数据库 ApplicationData 用于域模型,另一个 Membership 用于用户管理/会员提供程序。
我们在控制器中使用data-annotations 进行访问限制。
[Authorize(Roles = "administrators, managers")]
这对于简单的用例非常有用。
当我们扩展我们的应用程序时,我们的客户希望限制 specific users 访问我们的 ApplicationData 数据库的特定区域。
我们的每个产品都包含一个外键,表示产品所在的地区。
用户故事应该是:
- NewYorkManagers 角色的用户应该只能编辑/查看在纽约组装的产品。
我们创建了一个占位符表 UserRightsRegions,其中包含 UserId 和 RegionId。
我如何链接ApplicationData 和Membership 数据库以便正常工作/拥有cross-database-key-references? (这样的事情甚至可能吗?)
感谢所有帮助!
【问题讨论】:
-
出于同样的原因,我们创建了自己的会员服务提供商。这并不难,但它是一个老化的 API,您需要遵循它才能与 ASP.NET 框架的其余部分正确集成。请注意,您在这方面花费的时间比您想象的要多...
标签: c# sql-server asp.net-mvc c#-3.0 asp.net-membership