2011-02-25 51 views
1

enter image description here登录,用户在SQL权限表达2005年,图表,流程图

我想创建登录&用户对于它使用SQL Server 2005 Express的我的C#.net WinForms应用程序。 &直到我知道我已经建立了这些步骤。

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

此外,如果我错过了任何一步,请添加新的步骤。 此外,在最后一步,我应该怎么做,我一定要授予权限到两个用户&模式或仅用户或仅架构。

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

我想授予& DATABASE LEVEL的DENY权限,例如CREATE,DROP,ALTER DATABASE;表级别如INSERT,删除,修改的,更新列LEVEL的&。

另外,模式的创建是必要的吗?

据我所知: CREATION登录是需要对上面创建的登录用户的需要 CREATION 模式的创新是或不是必要的?我不知道。

回答

1

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

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

  1. 详细说明。 。 。为您的应用程序创建一个登录。将它命名为像MyApplicationUser
  2. 在你的应用程序来跟踪每个用户可能是一部分的角色创建一个表。这也可以跟踪他们被允许在你的应用程序中的功能(虽然可能在不同的表)
  3. 当用户启动应用程序,该应用程序运行结束使用相同的数据库凭据(MyApplicationUser
  4. 现在你知道用户是谁(基于NTID或应用程序登录),并且你可以给他们在应用程序中适合他们的功能)
+0

@Richard DesLonde,我正在构建c#.net winform应用程序,不是一个web应用程序 – sqlchild 2011-02-28 08:16:25

+0

对不起,我修改了我的答案。 :-) – richard 2011-02-28 08:18:33

+0

好的,添加了一些更多的细节。 – richard 2011-02-28 08:28:51