首页 > 解决方案 > 客户数据库及其密码与每个客户的用户帐户 银行 WEB APP

问题描述

嗨,我在数据库的“用户”和从数据库访问其详细信息的企业的“客户”之间感到困惑。

我正在构建一个网站,客户可以在其中登录并访问他们的银行余额、报表、直接借记等(银行应用程序)。我的 sql 数据库将有一个包含他们信息的客户表、包含余额等的帐户表、包含日期时间等的报表表等。

我的问题是,在现实世界中,成千上万的客户可以拥有一个银行账户。在 sql 中,我们是否为每个客户创建一个具有访问某些数据或预设视图的相关权限的用户。

我的印象是我的数据库只需要一个用户 root(我),并且我有一张带有 PW 的客户表。我在登录页面上使用 Javascript 验证客户是否针对 pw 字段,如果匹配,则只有 JS/Java 方法可以连接并针对数据库执行 sql 语句,例如:对于(客户)从客户编号 = 的帐户中选择余额(提供的客户用户输入的登录屏幕中没有)。

因此,简而言之,可能百万的每个客户都需要数据库上的用户帐户,还是我们可以只使用后端方法来根据主键(如客户编号或用户名)检索相关信息。

我已经彻底研究了这个问题,但似乎找不到答案,可能是因为我发现很难解释我的观点。有人可以帮我清理一下吗

谢谢

标签: mysqlsqlajaxdatabasedatabase-design

解决方案


对于您的应用...

您肯定需要在“客户”和“数据”之间建立一层。客户绝不能直接连接到数据库。他们必须通过该层。

该层将涉及代码和数据库。数据库表将包含客户姓名、地址、加密密码等。代码将进行验证等。

就 MySQL 而言,可能正好有 2 个“用户”:

  • root用于管理,以及
  • ...对于作为中间人处理所有“银行”操作并与其余数据库进行对话的单个“用户”。

应该至少有两个DATABASEs,每个都有不同的TABLEs

  • 管理员数据库——用户、姓名、密码等。
  • “钱”——账户、audit_trail、报表等。

表的唯一原因statement是冻结声明,这样如果有争议,你至少有一份声明的副本。由于声明是完全多余的,它可能只是一个 PDF 文件。

如果你有一百万个“用户”,一些表会有一百万行;有些可能有更多的行。

如果您使用的是真正的“金钱”,那么您需要对您所做的一切进行非常认真的安全审计。这超出了本论坛的范围。


推荐阅读