我正在寻找一种最佳方法来设置应用程序的多租户环境。当前应用程序专门针对篮球,但希望使用相同的代码库来支持足球。
应用程序将根据运动租户使用的URL更改颜色、标志和其他一些代码,可能会显示或隐藏某些视图。
我正在使用ASP.NET MVC 5、Ninject和Entity Framework 6。我将在我的数据库中创建一个租户表,存储URL和其他相关信息。
当应用程序启动时,最好的方法是检索并为该用户存储租户?请记住,用户可能会导航到其他运动站点,保持相同的登录,但只会加载与该租户相关的信息。这里是否应该使用cookie?我还需要一种通过服务层访问租户的方式。
我可能会使用https://github.com/jbogard/EntityFramework.Filters 来对仅与该运动相关的某些表进行Entity Framework过滤。但是,我如何访问TenantID呢?是否可以使用某种静态工厂?