0

我目前正在开发一个最终将在 .Net 托管公司托管的业务应用程序。托管公司提供 1 个 MSSQL 数据库(有 2 个用户)和无限数量的 MySQL 数据库。购买第二个 MSSQL DB 是不可能的,因为我的老板不想再为托管支付任何费用。我正在尝试确定存放 ASPNETDB 以进行站点身份验证和角色的最佳位置。

我的第一个想法是为此目的利用其中一个 MySQL 数据库,但我注意到它似乎需要一些箍跳才能完成此选项。另一种选择可能是将 ASPNETDB 保存在 Express DB 文件中。

最后,我还考虑将它与应用程序表一起存放在 MSSQL DB 中。这个选项让我害怕,因为如果我不小心在应用程序中搞砸了,ASPNETDB 表可能会对 SQL 注入开放。当然,我会尽我最大的努力确保无论如何都不会发生这种情况,但我想知道我有额外的安全层,因为我知道它位于自己的数据库中。

托管公司确实允许两个 MSSQL DB 用户,所以理论上这将允许我让一个用户专用于身份验证并限制另一个用户能够一起访问 ASPNETDB 表。

作为开发人员,您会推荐什么方法?在此先感谢您的帮助。

4

2 回答 2

1

使用 MSSQL DB 并使用预配置的 ASP.NET Membership 提供程序和 Roles 提供程序。这是最简单的方法。限制表级访问并仅使用存储过程。

于 2011-03-31T20:43:51.373 回答
1

听起来你对这些东西有点陌生,对吗?正因为如此,不要为自己制造太多的麻烦。不要试图把它放在mysql中,那是一个错误。我知道它是免费的,但它是为与 MSSQL 一起工作而编写的。是的,使用其他用户是个好主意。只需确保清理您的输入并在 SQL 语句上使用属性,或者至少使用 ORM 之类的实体框架或 Linq to SQL。

于 2011-03-31T20:44:37.530 回答