我计划在 Azure 中拥有一个多租户应用程序,其中通过模式分离实现数据隔离。
我打算使用子域来识别租户。想法是从子域中获取租户名称,从登录页面获取用户 ID 和密码,并验证 uid、pwd 和租户 ID 以进行身份验证。如果经过身份验证,则应用程序对 SPROCS 的所有调用都需要定向到架构(与租户同名)。
但是,我不想在 web.config 文件中存储租户明智的连接字符串。我能想到的第一个选项是,将模式名称和密码存储在登录页面可接受的表中,并创建特定于租户的连接字符串(及其 UID 和密码)并将其存储在会话中。在初始化任何存储过程时使用此连接字符串。
但是,我并不热衷于在会话中存储模式的 uid 和密码。有没有其他方法来管理这种情况?