用户表,权限表,角色表,怎么设计。
1、先建一个用户表users,字段大概就是id,password。。。
2、再建立一个user_roles用户角色表,user_roles.userid 与 users.id关联。
3、建立一个”用户权限表“sys_permissions,大概字段id、permission,description
4、建一个"用户角色权限表"sys_role_permissions,两个字段roleid、permissionid
5、user_roles.id=sys_role_permissions.roleid 和
sys_permissions.id = sys_role_permissions.permissionid
说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情。用户表结构的设计,算是整个后台架构的基石。如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地方也不少。与其如此,不妨设计用户表之初就考虑可拓展性,争取不需要太多额外代价的情况下一步到位。
先前设计:
id
username
password
用户名加上密码,解决简单需求,留个id作为其他表的外键。当然,那时候密码还可能是明文存储,好点的知道md5。
后来呢,随着业务需求的拓展,要加个用户状态 status 判断用户是否被封禁,注册时间和注册IP地址、上次登录时间和IP地址备查(并衍生出登录记录表,用来判断是否异地登录等,在此不表),用户角色/权限 role (又衍生出用户角色权限关系,还是另文讨论),业务也需要个人的个人信息如真实姓名、地址等也一股脑往上添加,现在形成了一个很完整的用户关系表。
设计表:
Users 用户表 字段:userid,username,userpermission
Roles 角色表 字段:roleid,rolename,rolepermission
UserInRole 用户角色对应表 字段:userid,roleid
PermissionList 权限列表 字段:permissionid,permissionDescription,permissionGroup
权限设计:许可、禁止和未设置三种状态,Allow,Deny,Not Set
目标:
实现用户权限的定义。
首先定义角色权限,用户与角色间是多对多的关系。用户权限继承自角色权限。
情况一:用户所属的多个角色存在权限冲突时,取最小权限,即某权限角色A许可,角色B禁止,则该权限为禁止。
情况二:用户所属的角色均未对某权限进行设置时,即NotSet状态,则该权限同DENY
情况三:用户所属的角色对某权限为许可时,也可单独设置该权限为禁止。
功能:
设置用户权限:
默认情况下,用户权限继承自所属角色的权限
可单独设置某用户的权限
扩展权限
权限定义可随时增加,并可以分组。当增加权限时,默认的角色权限均为未设置状态
问题:
1、在MSSQL数据库中如何设置userpermission和rolepermission字段的字段类型?
2、如何存取用户权限?特别是当用户属于多个角色时,如何高效的设置用户权限的问题
网站专用制作,价格绝对优惠,不做网站也可以交流一下经验……
要做网站的加我122216605/541597237。
绝对让你的网站给浏览者最COOL的冲击……
ADMIN
0表示超级管理员
1表示会员
2表示游客等
然后增加一个权限表
0是管理员的权限内容
1是会员的权限内容
不就OK了
一、申请自己的网站空间和域名
二、制作自己的网站[可以用Dreamwever2008、PS配合,也可以在硅谷动力看视频教程]
三、把自己做好的站上传上去
四、网站的后期维护与管理
五、可以联系我Q275423182