Mysql 存放.Net ASPNETDB成员资格和角色数据库的最佳位置

Mysql 存放.Net ASPNETDB成员资格和角色数据库的最佳位置,mysql,sql-server,security,aspnetdb,Mysql,Sql Server,Security,Aspnetdb,我目前正在开发一个商业应用程序,最终将由一家.Net托管公司托管。托管公司提供1个MSSQL数据库(2个用户)和无限数量的MySQL数据库。购买第二个MSSQL DB是不可能的,因为我的老板不想为托管支付更多的费用。我正试图为站点身份验证和角色确定放置ASPNETDB的最佳位置 我的第一个想法是利用MySQL数据库中的一个来实现这个目的,但我注意到它似乎需要一些跳跃来完成这个选项。另一种选择是将ASPNETDB保存在Express DB文件中 最后,我还考虑将其与应用程序表一起存放在MSSQL数

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

我的第一个想法是利用MySQL数据库中的一个来实现这个目的,但我注意到它似乎需要一些跳跃来完成这个选项。另一种选择是将ASPNETDB保存在Express DB文件中

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

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


作为一名开发人员,您会推荐什么方法?提前感谢您的帮助。

使用MSSQL数据库并使用预配置的ASP.NET成员资格提供程序和角色提供程序。这是最简单的方法。限制表级访问,只使用存储过程。

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

是的,我对此有点生疏。我开发的大多数应用程序都是运行在本地服务器上的“内联网”应用程序,所以我们可以在设置方面做任何我们想做的事情。我将利用第二个用户并计划使用Linq.Kewl。我确实计划只使用存储过程来减少潜在的问题。