Alt*_*rld 3 sql-server saas multi-tenant asp.net-mvc-2
我正在使用ASP.Net MVC 2和SQL Server数据库实现SaaS应用程序.我正在使用共享租赁方法.
为了过滤数据,到目前为止我找到了两种方法.
选项1:http://msdn.microsoft.com/en-us/library/aa479086.aspx#mlttntda_tvf
每个租户使用sql登录.因此,使用SUSER_SID()作为视图中的过滤器
选项2:http://blogs.imeta.co.uk/jyoung/archive/2010/03/22/845.aspx
在Context_Info中存储租户ID.因此,使用sql函数从Context_Info中读取租户id作为视图中的过滤器.
你能帮我挑一个合适的选择吗?
谢谢,谢谢
我认为这归结为安全模型之战.DBA可能会坚持要你做前者.我更务实,可能会将租户ID传递给我的SP或来自应用层的查询.
我会通过大量的单元测试来支持这一点,以确保一个租户永远不会看到另一个租户数据,我只会将当前租户存储在会话或simmilar的服务器上,永远不会存储在cookie或URL或其他任何地方可以在客户端被黑客入侵.
这使得添加新租户变得更加容易,因为不需要DB配置.
当然,会话可能被黑客入侵,因此您需要采取一切预防措施,以确保无论您在服务器上存储租户ID,它都可以免受欺骗等的影响.
| 归档时间: |
|
| 查看次数: |
2827 次 |
| 最近记录: |