ASP.NET MVC 5、Entity Framework、Ninject和多租户设置

3

我正在寻找一种最佳方法来设置应用程序的多租户环境。当前应用程序专门针对篮球,但希望使用相同的代码库来支持足球。

应用程序将根据运动租户使用的URL更改颜色、标志和其他一些代码,可能会显示或隐藏某些视图。

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

当应用程序启动时,最好的方法是检索并为该用户存储租户?请记住,用户可能会导航到其他运动站点,保持相同的登录,但只会加载与该租户相关的信息。这里是否应该使用cookie?我还需要一种通过服务层访问租户的方式。

我可能会使用https://github.com/jbogard/EntityFramework.Filters 来对仅与该运动相关的某些表进行Entity Framework过滤。但是,我如何访问TenantID呢?是否可以使用某种静态工厂?


我猜你的意思是要称之为租赁,而不是倾向性? :) - DavidG
抱歉,这是您需要的内容。 - Mike Flynn
1个回答

0
您可以查看AspNet.Identity,它允许您对用户/租户进行身份验证,为每个用户/租户存储配置文件信息,并使用角色或声明来授权网站的不同部分。

应该将这个添加到问题中会很有用。 - elolos
我猜用户与租户是完全分开的。同一用户可以访问所有租户。我想根据租户显示不同的内容,用户并不重要。 - Mike Flynn
@MikeFlynn - 通常情况下,多租户要求用户特定于租户。因此,在我看来,您只是想要一个具有多个区域的站点。 - Erik Funkenbusch
基本上,不同的网站,相同的代码库,可以由同一用户在所有网站上使用。 - Mike Flynn
为什么他们在98%的时间里要在相同的区域使用完全相同的视图和控制器? - Mike Flynn
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接