我的公司正在构建一个ASP.NET HR应用程序,并且我们决定为每个客户端创建一个数据库。这可以确保客户不会意外查看其他客户的数据,同时还可以实现简单的可扩展性(其他益处,已经讨论过here)。每个客户端使用单个数据库时的用户身份验证?
我的问题是 - 在这种情况下处理安全和数据访问的最佳方式是什么?我的意图是使用一个通用的登录/帐户数据库,将用户引导到正确的服务器/数据库。这个公共数据库还将包含每个用户/角色都可以访问的应用程序功能。
我并不打算在每个客户端数据库中放入任何用户信息,但我的团队中的其他人却认为每个数据库缺乏安全性是一个巨大的漏洞(但他们无法阐明如何复制常见访问逻辑有用)。
我错过了什么吗?我们是否应该在客户端数据库级别添加额外的安全/身份验证层?
更新:
我的一个团队认为双用户管理的原因是必要的是由于访问控制。所有用户都有一个默认角色(例如管理员,最小访问权限,高级用户等),但客户端管理员将能够改进访问其数据库的用户的权限。对我来说,这似乎是可行的,在一个中央数据库,但我的团队不同意。思考?