database-design - 设计不同角色的登录系统
问题描述
我正在为使用 mysql DBMS 的诊所管理系统设计一个数据库,诊所所有者可以拥有一个帐户,通过该帐户他可以根据授予该用户的权限授予所有员工或特定人员访问诊所帐户的权限
我有以下表格:
- 用户表
- 用户身份
- 电子邮件
- 用户名
- 经理表。
- user_id_fk
- 医生表。
- user_id_fk
- 护士表。
- user_id_fk
- 员工表。
- user_id_fk
- 权限表。
- user_id_fk
可以是经理、医生、护士或员工的用户可以根据权限表使用授予该用户的权限登录诊所系统。.
所以在这种情况下,我应该创建一个外键,将所有子表(经理护士医生员工)与外键与用户表链接到使用方法“多态关联”的权限,或者我应该将它们分开并删除表用户并分别将权限链接到每个表,如果您有其他建议,请告诉我
解决方案
我将有三个表:用户、角色和权限。
在角色表中,我将创建医生、护士等......并在那里分配所需的权限。然后将该角色赋予用户。
每个受保护的资源都将进行权限检查,并根据在其角色中分配的权限仅显示允许的内容。
示例表:
用户
ID | 名 | 姓 | 角色 ID |
---|---|---|---|
1 | 小子 | 皮特 | 1 |
2 | 安吉丽娜 | 朱莉 | 2 |
角色
ID | 姓名 | 描述 |
---|---|---|
1 | 医生 | |
2 | 护士 |
权限
ID | 姓名 | 描述 | 角色 ID |
---|---|---|---|
1 | view_section_a | ... | 1 |
2 | view_section_b | ... | 1 |
3 | edit_section_b | ... | 1 |
4 | view_page_x | ... | 2 |
推荐阅读
- json - 使用 Jolt 将值推送到内部数组
- scala - 给定 Seq[String] 过滤 Seq[Map[k,v]]
- python - Python @dataclasses - 如何使用 pymler.asizeof 正确测量类的大小?
- javascript - 使用 Microsoft 图形 API 从列表最近的文件中获取文件路径
- html - 字体为 SegoeUI 时 CSS 粗体无法正常工作
- redux - Redux 工具包:如何从 thunk(createAsyncThunk) 调用另一个操作
- database - 即使在表级别增加了 autovacuum_freeze_max_age,也会为表的事务环绕触发 Autovacuum
- python - 根据房地产 ID 从数据框中提取唯一价格值
- c# - “不支持的媒体类型”,在 react-native 中发布请求时出现 415 错误
- composer-php - 找不到包裹 drush/drush