正确的数据库访问认证

时间:2012-05-01 16:04:45

标签: c# asp.net .net sql-server authentication

我们正在开发一个简单的webapp,它将在我们的Intranet上提供。使用“用户”表控制对应用程序的访问:如果表中存在您的网络登录,则可以使用该应用程序。

应用程序本身将使用SQL数据库。在我们当前的开发设置中,我们都是开发人员数据库的管理员,因此我们可以完全访问。但是,当它部署到Production时,我们有几个选项可用于对数据库进行身份验证。

为每个适当的用户授予他或她自己的数据凭据是否有意义,或者用户是否都在数据库上共享一个应用程序级别的用户帐户?

2 个答案:

答案 0 :(得分:1)

为每个应用用户创建单独的用户帐户会使我的体验变得复杂。如果没有必须设计的安全规范,我将为应用创建一个登录,创建数据库角色,为角色授予权限,并将登录添加到角色。

如果您通过将用户名作为输入参数传递给存储过程来使用此方法,则仍可以审核用户操作。

答案 1 :(得分:0)

每个用户访问凭据将导致除最小用户群之外的所有用户群的后勤噩梦。它也使网络环境中的问题变得复杂。

我见过(和使用过)最常见的方法是每个应用程序使用一个专用用户。所有访问都通过该用户名/密码。

您的应用程序将在任何情况下执行授权,以便您可以在需要时审核执行各种操作的用户名。