我正在研究一个应用程序,其中我有5-6个角色。是的,这是一件很平常的事情,但我面临一个问题。我正在处理我自己的数据和表格。在数据库中处理基于用户角色的用户
我已查看其他帖子,但大多数都与会员相关。 好了,来处理这个我已经创建了拥有列
向tblUsers
- 用户ID
- 名称
- 电子邮件
- Roles--在本专栏中,我像存储角色表
Teacher
,Student
等
但是现在我遇到了一个用户可以拥有多个角色的情况。假设一个用户是老师和学生,还有更多。
所以,我的问题是,我应该如何管理我的数据库,以便它应该高效地工作,并且明智的数据库处理应该反映出来,并且在将来也应该适用于获取角色并检查“角色”并允许权限。
一个解决方案,我还以为是让角色在不同的表
tblRoles
Role_Id Role
1 Client
2 Teacher
3 Student
4 Superitendent
5 Principal
,然后保持在用户表中的角色如下
向tblUsers
User_Id Name Email Roles
1 Pin hh 1
2 Sin mm 1,2
3 ll ii 3,2
4 uu hv 3
或
User_Id Name Email Roles
1 Pin hh Teacher
2 Sin mm Client, Teacher.
但这样做会使事情复杂编码?
如果我使用上述技术,我将如何加入并获得角色 假设拥有Id 2的用户已登录并获得用户的角色,我必须这样做?
var Roles=get Roles from tblUsers where user_id= 2
然后
Roles.split(',');
然后检查的次数和获得的角色这样
var User_Role = get Role from tblRoles where Role='Roles[0]' ;
,如果我在角色数组不止一个值,那么我必须再次调用数据库然后再次?
请帮我解决这个问题。你的建议对我来说真的很有帮助。