2011-10-07 31 views
1

我使用C#Asp.net和SQL 2008 R2权限的用户和连接字符串

我是很新,所以数据库我需要一些引导线。

我使用MS Management Studio创建一个包含角色/权限管理员的用户A来创建我的数据库。

现在我需要建立自己的网站,以读取/更新/在我的表中删除行,该用户将被指向的连接字符串。

我的问题: 在连接字符串应我的用户A(角色管理员)? 或者我应该创建一个新的用户并给角色数据读取器和数据写入?

我需要我的代码能够处理我的表的内容,但不要修改模式。

请让我知道。非常感谢

+0

希望家伙是不是太琐碎,并得到反对票,那是我第一次和DB工作:) – GibboK

+0

安全不是一件小事。 – Oded

回答

1

您应该创建一个拥有最小权限的新用户。

这样一来,如果有人接手的网站,他们仅限于做这个用户能做什么和不能做其他事情的管理员用户可以。

如果您使用管理用户,存在使用SQL injection或其他技术来注入他们的代码到你的服务器的恶意用户将能够更改架构(甚至删除数据库)的风险。

此外,如果你有一个会改变的模式,可以称为(也许作为监督或编码错误)的任何代码,损害仅限于什么低权限的用户可以做。

这是defense in depth的一部分。

+0

感谢Oded的及时回复。因此,为了我的理解,我应该只在连接字符串中添加一个具有角色数据编写器和数据读取器的用户。如果在不久的将来我不需要,还可以删除管理员用户吗?谢谢你在这个 – GibboK

+0

@GibboK - 正确的时间,只能使用最小权限的用户(读/写/删除一个)。你可以_disable_管理员用户,如果你没有任何使用它。 – Oded

+0

完美:)有一个不错的周末 – GibboK