【发布时间】:2010-03-13 13:10:30
【问题描述】:
我正在考虑启动一个需要安全的新网络应用程序(如果没有其他原因,我们将在某个时候需要 PCI(支付卡行业)认证)。
根据以前使用 PCI(在域上)的经验,首选方法是使用集成的 windows 身份验证,然后使用 kerberos 通过应用程序将其一直传递到数据库(因此 NT 用户在数据库中具有权限) .这允许更好的审计以及对象级权限(即最终用户无法读取信用卡表)。
这样做的好处是,即使有人破坏了网络服务器,他们也无法从数据库中收集任何/很多额外信息。此外,网络服务器不存储任何数据库凭据(可能是一个简单的匿名用户,对简单的网站配置只有很少的权限)
所以,现在我正在研究将在公共互联网上发布的新网络应用程序。一个建议是拥有一个 Active Directory 服务器并在 AD 上为站点的每个用户创建 Windows 帐户。然后这些用户将被放置到适当的 NT 组中,以决定他们应该拥有哪些 DB 权限(以及他们可以访问哪些页面)。
ASP.Net 已经提供了 AD 成员资格提供程序和角色提供程序,因此这应该很容易实现。
围绕这一点有很多问题 - 可扩展性、可靠性等...去做吧。
任何意见表示赞赏
【问题讨论】: