0

我有一个创建自己的用户的应用程序,然后这些用户登录到应用程序并访问数据库。应该如何创建用户,我应该有一个用户表还是应该创建数据库级用户?

4

1 回答 1

1

这是一个非常开放的问题,例如,您忽略了它是基于 Web 还是基于桌面的应用程序 - 但这里有一些想法。

您在谈论多少用户以及什么样的营业额。数千?百万?十?随着数量和/或营业额越来越大,用户表看起来越来越好。例如,亚马逊允许我们创建自己的购物车,因为我们不是他们数据库服务器上的用户。

对于具有数据库级别用户的公司内部的数据库通常更有意义。它使您不必在应用程序中定义整个安全子系统,并确保 Microsoft 和全球数百万用户已经解决了任何漏洞。

预先在数据库中创建用户表要简单得多。但是,它在您必须构建的业务规则和安全子系统上投入了大量工作。(除了它创建的提到的漏洞之外)

同时,预先利用数据库用户和角色可能会更加复杂(如果您是在应用程序中进行的)。您需要熟悉 tsql、系统存储过程、SMO 等的人。但从长远来看,管理角色、用户、组、权限等会容易得多,另外还有一个好处是您可以在必要时在应用程序之外对其进行管理。

无论哪种方式,您的应用程序都必须弄清楚它如何使用连接字符串。数据库级用户路由要求连接字符串特定于每个用户。除非您打算使用带有 Windows 身份验证的域帐户 -我认为这是尽可能采用的方法。

于 2012-10-12T21:30:26.067 回答