SQL Server 2008为DB和Web.Config设置用户登录详细信息

时间:2011-05-04 14:06:54

标签: sql sql-server

嘿,我在web.config中有一个数据库设置,如下所示

<connectionStrings>
      <add name="DBConnectionString" connectionString="server=serverName;database=dbName;user=dbuser;pwd=dbpass;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

用户名和密码的最佳做法是什么?是否最好只是编写一个更强的密码,即Iu5jku23这样的东西?

然后在SQL Server 2008中,当我的sql用户

时,用户的最佳设置是什么
db_datareader
db_datawriter
db_owner
db_securityadmin
db_accessadmin

我应该删除的任何人?

2 个答案:

答案 0 :(得分:1)

最佳做法是不以纯文本形式存储密码。始终使用强密码并对其进行加密,或使用集成身份验证。

关于数据库角色,使用db_owner,其余部分是多余的。

修改
关于加密web.config:看看 http://weblogs.asp.net/scottgu/archive/2006/01/09/434893.aspx 。您应该只向用户提供他们需要的东西。用户将需要对存储过程执行权限,并对procs触摸的任何基础表进行读/写操作。 db_datareader将允许对数据库中的所有内容进行读访问,同样使用db_datawriter(显然只有它的写访问权限)。

答案 1 :(得分:0)

Examples of Strong SQL Server passwords:

  • 不包含全部或部分内容 用户的帐户名称
  • 超过八个字符 长度
  • 至少包含字符 以下三个类别:
  • 英文大写字母(A. 通过Z)
  • 英文小写字母(a 通过z)
  • 基数为10位(0到9)
  • 非字母字符(for 例如:!,$,#,%)

就设置权限而言,它实际上取决于您希望获得的粒度以及您希望攻击面区域的限制。

设置db_owner基本上允许该用户执行任何操作。因此,如果这个特定的“帐户”只需要读取数据并在网页上显示,那么datareader将是您最好,最安全的选择。

所以大多数事情都取决于你在做什么。