我正在使用mySQL&创建我的第一个Web应用程序PHP,只是寻找一些指导,以确保我在正确的方向......或不。
它将有3种类型的用户; members
,clubs
和admins
。
我目前通过相同的登录页面登录它们,登录后它们会转到相同的“仪表板”,但仪表板的内容会通过针对用户用户类型的条件语句进行更改。这在安全性等方面是一个明智的想法吗?
我目前的简化表结构是:
users {id, username, hashed_password}
members {id, user_id, first_name, last_name, email, address, tel, cleared_activities}
clubs {id, user_id, club_name, address, tel, available_activities}
admins {id, user_id, first_name, last_name, email, address, tel}
这个表设计可以改进吗?我意识到类似的领域,尤其是members
和admins
,这让我觉得可能有更好的方法。
非常感谢
答案 0 :(得分:1)
由于所有成员和管理员都是用户,我会为用户,成员和管理员使用一个表添加一个额外字段“usertype”。
然后我会为成员添加一个表,它将保存所有特定成员的额外字段。
users {id, username, hashed_password, first_name, last_name, email, address, tel, user_type}
member_data {user_id, cleared_activities}
clubs {id, user_id, club_name, address, tel, available_activities}
如果额外的成员字段只是您提到的字段,您也可以将其保留在users表中。对于非类型成员的用户,此字段将具有NULL值。
users {id, username, hashed_password, first_name, last_name, email, address, tel, user_type, cleared_activities}
clubs {id, user_id, club_name, address, tel, available_activities}