【发布时间】:2014-06-26 09:59:42
【问题描述】:
我正在编写一个新网站,并且正在研究 Asp.Net Identity 2.0。开箱即用,它使用实体框架进行所有数据访问。对于站点的其余部分,我们正在创建用于数据访问的中间件 Web 服务。出于安全考虑,我们最初的计划是 Web 服务器将与中间件对话,而中间件将通过实体框架与数据库对话。我们曾计划通过防火墙阻止来自 Web 服务器的数据库访问。
我发现我可以为 Identity 2.0 创建一个自定义提供程序,然后它可以使用中间件进行数据访问。
这是我的问题:
- 不允许 Web 服务器直接访问数据库是否更安全?
- 如果它更安全,为什么微软不开箱即用地构建它
- 如果您像我们一样从头开始,您会建议使用实体框架还是编写一个通过我们的中间件层的自定义提供程序?
谢谢。
【问题讨论】:
-
为什么不直接创建一个“安全”Web 服务并在其中执行 ASP.Net 身份验证,从您的网站调用它? 1. 某处某处最终需要访问数据库。 2. Microsoft 提供库。你如何实现它们是另一回事。 3. 我会按原样使用 ASP.NET Identity,然后在需要时将其他业务逻辑/数据访问移动到您的 Web 服务中。
-
是的 - 我想我正在从安全角度寻找最佳实践...
标签: asp.net entity-framework asp.net-identity