我想设计一个网络应用程序的数据库,在其中用户可以访问特定的选项卡根据赋予角色的权限.
到目前为止,我已经创建了两个表USER_TABLE和USER_ROLES.
USER_TABLE包含以下字段:
- ID(主键)
- 用户名
- 密码
- 名字
- 姓氏
- 创建日期(_D)
- Role_id_fk(外键)
USER_ROLES包含以下字段:
ID(主键)
角色名称(例如管理员、TAB1用户、TAB2用户)
创建日期(_D)
在这里,ROLE_NAME为"ADMIN"的用户可以看到所有选项卡,其他用户只能访问特定的选项卡.
我的问题是,我是否需要在USER_ROLES表中创建一个具有外键的表USER_PERMISSIONS,其中包含以下字段:
- ID(主键)
- PERMISSION_TYPE(ALL,TAB1,TAB2.)
或者,我应该在我的代码级进行管理吗?这两种方法的优缺点是什么?