我有一个使用成员资格功能的ASP.NET应用程序。我连接到包含aspnet_membership架构的SQL Server数据库。我目前在我的应用程序的连接字符串中使用“sa”和sa密码,我知道这是一件非常糟糕的事情。我的问题是,连接字符串的最佳替代方案是什么?我应该在sql db名称“MyAppUser”(或其他东西)中创建用户并将aspnet_membership_fullcontrol架构分配给该用户吗?这样,应用程序可以连接并获得完全控制权限,然后根据我写入应用程序的逻辑限制各个用户的访问权限。
这是一个很好的方法吗? (访问仅限于应用程序使用的特定数据库,而不是任何其他数据库)。
如果没有,在使用ASPNet会员资格时,在我的连接字符串中使用用户“sa”的更好方法是什么?
感谢您提供任何建议。
答案 0 :(得分:0)
如果这是一个内部应用程序,您可以使用Windows身份验证(集成安全性= true),否则为您的应用程序创建一个sql登录,将数据库映射到用户并应用足够的权限(可能是读/写)。
答案 1 :(得分:0)
是 - 为此项目创建特定用户和密码,并将这些详细信息存储在app.config或web.config文件中,然后从那里开始。
如果您使用可信连接,那么您实际上并不能控制哪个用户可以访问数据库,这意味着以后的调试会更加困难。
答案 2 :(得分:0)
对于Windows应用程序,我们通常使用Windows身份验证。如果我们确实需要使用特定的用户/密码,我们将加密此信息并将其存储为appsetting键/值对。
对于asp.net应用程序,我们通常会为该应用程序创建一个sql登录名,并将密码存储在Web配置中。然后我们将加密Web配置文件的connectionstring部分
有关如何执行此操作的说明,请参阅以下链接: http://msdn.microsoft.com/en-us/library/ff647398.aspx