【问题标题】:Database of customers and their PW Vs user account per customer Banking WEB APP客户数据库及其密码与每个客户的用户帐户 银行 WEB APP
【发布时间】:2019-06-11 05:43:59
【问题描述】:

您好,我对数据库的“用户”和从数据库访问其详细信息的企业的“客户”感到困惑。

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

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

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

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

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

谢谢

【问题讨论】:

    标签: mysql sql ajax database database-design


    【解决方案1】:

    对于您的应用程序...

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

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

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

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

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

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

    statement 表的唯一原因是冻结声明,以便在发生争议时,您至少拥有声明的副本。由于语句是完全多余的,它可能只是一个 PDF 文件。

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

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

    【讨论】:

    • 谢谢你!只是想了几件事;整个“语句表完全多余”是什么意思?另外,我假设两个用户 admin 将具有 root 权限,而用户将只有读/写权限,但通过中间/后端方法访问而不是用户直接访问 DB?最后,对于 Uni 的初学者 FYP,您能解释一下我如何实现审计日志记录和其他安全功能吗?谢谢
    • @Hgrammer - 大概statement 中的所有内容都来自其他表。至于审计、安全等,这些话题对于这个论坛来说太大了。
    猜你喜欢
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2016-01-09
    • 2011-05-15
    • 2012-01-24
    • 1970-01-01
    • 2018-01-28
    相关资源
    最近更新 更多