1

我目前正在将 Windows 桌面应用程序转换为网站/应用程序。整个应用程序的数据结构存储在 SQL Server 数据库中。每个数据库代表一个不同的“库”。一个客户可以有许多不同的“库”(数据库),我正在考虑将许多客户安装在同一个 Web 服务器上。

这将是一个 Internet 站点,因此我强烈考虑使用 Microsoft 提供的用户帐户管理来访问站点。我在想,然后我将提供管理员级别的访问权限,允许为用户分配特定数据库的权限。(即,默认情况下,通过 Microsoft 机制创建用户帐户不会提供任何实际功能。)

用户访问将具有以下通用级别:
1. 读取访问(没有这个,用户甚至不应该知道库的存在)
2. 插入访问(用户可以将记录添加到系统)
3. 编辑访问(用户可以更改记录的详细信息)
4. 删除访问权限(您认为这是做什么的 :)?)
5. 管理员访问权限(用户可以修改其他用户的属性)

我正在考虑一个模型,其中网站中有一个帐户可以处理所有 SQL Server 交互。因此,所有处理上述允许/拒绝访问级别 1 到 5 的代码都将由我的网站页面中的代码处理,而不是由 SQL Server 的用户帐户管理。

我在想我将拥有一个中央数据库,其中包含所有用户名以及他们的帐户(至少)对哪些库具有读取访问权限(来自上方的 1 级访问权限)。然后,级别 2 到 5 将存储在该用户和该数据库的每个数据库中。

我想到了两个问题:

  1. 这种方法合理吗?我是否错过了另一种更安全的方式来做我想做的事情(例如,使用 SQL Server 的用户管理工具)?
  2. 如果我要制定这种方法,我将如何在网站上创建“超级用户”帐户?我假设这将是某种“网络服务”或“本地服务”帐户,但我仍然对哪个帐户在 ASP.NET 中执行的操作有点模糊。

谢谢!

4

1 回答 1

0

Why cant you use ASP.Net Login authentication using Roles and Membership.. I think this should help you..

于 2011-12-18T13:47:51.550 回答