【问题标题】:Using different tables for authentication使用不同的表进行身份验证
【发布时间】:2021-10-06 01:09:22
【问题描述】:

所以我一直在开发一个包含三种用户的门户。 Students, University & Agent 。每个都使用完全不同的详细信息进行注册,如下所示,

Students:
- first_name
- last_name
- email
- password

And University:
- Univ name
- rep name
- email
- country
- password

And Agent:
- Company name
- rep name
- email
- country
- password

那么,如何处理呢?我应该需要三个单独的表并有单独的登录页面来进行身份验证吗?或者有没有更好的方法! ?

抱歉这个菜鸟问题,但找不到有效的方法来处理这个问题

【问题讨论】:

  • 不使用一个,只填写每种类型所需的字段和类型,以便您只显示必要的 gui 部分
  • 我同意@nbk,我认为以后数据操作会很容易
  • 如果是这样,我们需要留下空白字段,而且从逻辑上讲这听起来不对?作为学生表不需要有代理_name等?

标签: mysql sql database database-design


【解决方案1】:

如果您希望他们在同一页面上登录。添加另一个将处理特权用户帐户登录的表,因此当用户登录时(不要忘记将 FK 广告到其他表),系统将检查它具有的特权,然后根据该特权路由它们。

【讨论】:

  • 每个用户都有不同的用户字段,你将如何将这些添加到一个表中?
  • 看@Gilbert Le Blanc 已经回答了。但他忘记了用户上的用户 ID 字段
【解决方案2】:

一种解决方案是使用具有单独 Student、University 和 Agent 表的通用 User 表。登录页面会有所不同,但登录页面将包含电子邮件和密码。

User:
- email
- password
- account type

Student:
- first_name
- last_name
- User ID

University:
- Univ name
- rep name
- country
- User ID

Agent:
- Company name
- rep name
- country
- User ID

【讨论】:

    猜你喜欢
    • 2013-06-28
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多