我有一个多租户应用,用户可以选择"当前公司"他们登录后 每个公司都有一个数据库,但模型相同,工作流程相同,控制器操作相同......用户可以在登录时切换公司,所有操作都需要定向&# 39;适当的DB。
I know it is possible通过覆盖EFContextProvider<T>
来自定义CreateContext()
中的上下文创建,但是如何传递允许我使用正确的连接字符串创建上下文的额外信息(参数,例如CompanyId) ?
这可能吗?
答案 0 :(得分:1)
我发现最简单的方法是在自定义HTTP标头中包含租户ID。
由于租户ID在会话期间发生了变化,因此您可能希望创建一个custom Breeze ajax adapter(包装您现在正在使用的那个),在ajax
的实施过程中动态设置此标头方法
在服务器上,您可以从请求中删除标题。
请确认您在服务器上验证用户和标题