2014-09-29 60 views
3

我正在尝试为我正在处理的应用程序的多租户设置找到最佳方法。目前的应用程序专门针对篮球,但希望为足球使用相同的代码库。ASP.NET MVC 5,实体框架,Ninject和多租户设置

该应用程序会改变颜色,标志和一些其他代码和视图可能会显示或隐藏。这将基于运动承租人使用的应用程序的URL。

我正在使用ASP.NET MVC 5,Ninject和Entity Framework 6.我将在我的数据库中创建一个Tenant表,用于存储URL和其他相关信息。

当应用程序启动时,检索租户并将其存储给该用户的最佳方式是什么?请记住,用户可以导航到其他运动网站,保持相同的登录,但只会加载与该租户相关的信息。饼干会是最好的选择吗?我需要一种通过服务层访问租户的方法。

我可能会使用https://github.com/jbogard/EntityFramework.Filters为实体框架筛选某些仅与该运动相关的表格。但是,如何访问TenantID来执行此操作?某种静态工厂会工作吗?

+0

我假设你打算称之为租赁,而不是倾向? :) – DavidG 2014-09-29 15:39:56

+0

是的,对不起,你去 – 2014-09-29 15:42:03

回答

0

您可以看看AspNet.Identity,它可以让您验证用户/租户,存储每个用户/租户的个人资料信息,并为网站的不同部分使用角色或声明授权。

+0

我已经使用asp.net会员资格,并不会改造它来做到这一点。 – 2014-09-29 15:42:51

+0

然后将这个添加到问题中应该很有用。 – elolos 2014-09-29 15:44:06

+0

我想,但用户与租户完全分开。同一个用户可以访问所有租户。我想根据租户显示不同的东西,用户无关紧要。 – 2014-09-29 15:48:20