1

在此处输入图像描述

我想为使用 sql server 2005 express 的 c#.net winforms 应用程序创建登录名和用户。据我所知,我已经构建了这些步骤。

所以,我想问一下这些步骤是正确的还是我犯了很多错误。

另外,如果缺少任何步骤,请添加新步骤。另外,在最后一步,我应该怎么做,我是否必须同时授予USERS和SCHEMA权限,或仅授予USER,或仅授予SCHEMA权限。

如果有人可以提供,我正在寻求改进此模型或新模型。会有很大的帮助。

我想授予和拒绝 DATABASE LEVEL 的权限,例如 CREATE、DROP、ALTER DATABASE;表级别的插入,删除,更改,更新和列级别。

另外,是否需要创建模式?

据我所知: 创建登录是必要的 为上述创建的登录创建用户是必要的 是否需要创建模式?我不知道。

4

1 回答 1

1

我正在改变我的整个答案。我真的认为授予使用直接登录访问您的数据库不是一个好主意。数据库不是权限的正确“阻塞点”。创建一个具有您需要的总数据库权限的用户。然后根据用户在应用程序中的角色授予应用程序中的用户功能(在数据库中的表中跟踪)。

在数据库中为每个用户创建 1 个登录存在很多问题。一些是 1. 维护噩梦 2. 现在您的用户可以直接登录到您的数据库,如果他们可以使用 Management Studio 或其他工具连接到它。

  1. 详细说明 。. . 为您的应用程序创建一个登录名。将其命名为MyApplicationUser
  2. 在您的应用程序中创建一个表来跟踪每个用户可能属于的角色。这也可以跟踪他们在您的应用程序中允许拥有的功能(尽管可能在不同的表中)
  3. 当用户启动应用程序时,应用程序会使用相同的数据库凭据 ( MyApplicationUser )打开
  4. 现在您知道用户是谁(基于 NTID 或应用程序登录),您可以在应用程序中为他们提供适合他们的功能)
于 2011-02-28T08:09:15.160 回答