1

我创建了一个 WPF 应用程序,它直接(而不是通过服务)连接到位于数据库服务器上的 SQL Server 数据库。现在我需要创建用户管理,每个用户都有自己的登录凭据(不是 Windows 身份验证)。这就是我的想法:

  1. 在应用程序安装过程中,数据库管理员将为我提供一个包含足够权限的帐户来创建数据库

  2. 使用这些凭据,我将连接到 SQL Server,执行一个脚本来创建数据库,并执行一个脚本来为此数据库创建一个默认管理员用户,该用户将具有完全权限。

  3. 我将使用这个新用户来管理我的数据库的所有用户和角色。

  4. 对于我的应用程序中的每个用户,我需要在我的数据库中创建一个用户。

问题:

  • 这是正确的做法吗?

  • 我对如何管理这个感到困惑。如果我的数据库中有一个表用户和角色,并且我还需要在数据库级别创建用户和角色,那么看起来我在复制东西?

或者我错过了什么?

4

2 回答 2

1

我可能会通过创建角色和通过角色而不是用户名/登录来管理事物来做不同的事情。最好在数据库中创建一个应用程序登录,其凭据将用于您的数据库和应用程序之间的通信。

于 2012-06-05T17:34:17.540 回答
0

只有非常小的重叠。在您的用户表中,您存储与 SQL 帐户匹配的用户名,用户名是唯一的重叠。所有其他信息都存储在用户表中。

我认为这样做没有任何问题,唯一的缺点是您需要拥有一个管理员帐户,在安装它的任何 SQL Server 上都具有相当大的访问权限,但听起来您已经考虑到了考虑。

于 2012-06-05T17:27:30.567 回答