sql 如何设计权限表

时间:2020-11-28 15:30:05
我现在做的项目需要设计用户、角色、权限表,但是不知道怎么设计权限表比较合适,请各位指导下。
权限如下所示:
查询地址
查询姓名
查询报警温度
...
共有 9个查询权限

配置地址
配置姓名
配置报警温度
...
共有 12个配置权限


角色表字段:
id 角色名
用户表字段:
id 用户名 角色名

问题是我觉得权限比较多,权限表是不是分为两个表(查询表、配置表)比较好呢?

13 个解决方案

#1


用两个表可以解决,在角色表中添加一个字段,功能列表,引用功能表的Id 如
id  角色名     功能列表
1   管理员     1,2,3,4,5
2   销售经理   4,5

#2


一般是这样设计的会比较通用、久远:

1: 简单型 => 一个用户仅一种角色
功能表(SecObject)
ID\Code\Name\Layer(层次:0->模块、1->功能、2->操作)\Parent(父节点编码)

角色表(SecRole)
ID\Code\Name

用户表(SecUser)
ID\Code\Name\RoleID(所属角色)

角色权限表(SecPermission)
ID\RoleID\ObjectID\IsPermt(是|否 ~有权限)


2: 完美型 => 一个用户可有多种角色
功能表(SecObject)
ID\Code\Name\Layer(层次:0->模块、1->功能、2->操作)\Parent(父节点编码)

角色表(SecRole)
ID\Code\Name

用户表(SecUser)
ID\Code\Name

角色权限表(SecPermission)
ID\RoleID\ObjectID\IsPermt(是|否 ~有权限)

用户角色表(SecUserRole)
ID\UserID\RoleID

#3


(层次:0->模块、1->功能、2->操作)\Parent(父节点编码)
这里不懂

#4


可以在用户表中留一个字段,用于存储权限字符串!
针对这个字符串进行操作...

#5


建议用微软集成的Membership
可以在基础上进行扩展。
参考详细地址:http://www.blueidea.com/tech/program/2007/4676.asp

#6


mark

#7


角色名,用户名
参考
参考

#8


一个用户一个对应一个角色

一个角色对应多个权限

某些特定的用户可以再一个角色上面再添加一些权限
可分为:
用户表:
     用户ID
     用户名
     角色ID
角色表:
      角色ID
     角色名
权限表:
      权限ID
     权限名
角色权限关系表:(判断角色有哪些权限)
     角色ID(用户ID)
     权限ID

#9


MARK

#10


该回复于2009-06-18 17:33:59被版主删除

#11


学习。

#12


永恒的5表~

#13


operation(是指如审核新闻,发布新闻这些具体的?)表和privilieage(是指add, update,delete,select这些抽像的???)表有哪些字段,说上一下。

#1


用两个表可以解决,在角色表中添加一个字段,功能列表,引用功能表的Id 如
id  角色名     功能列表
1   管理员     1,2,3,4,5
2   销售经理   4,5

#2


一般是这样设计的会比较通用、久远:

1: 简单型 => 一个用户仅一种角色
功能表(SecObject)
ID\Code\Name\Layer(层次:0->模块、1->功能、2->操作)\Parent(父节点编码)

角色表(SecRole)
ID\Code\Name

用户表(SecUser)
ID\Code\Name\RoleID(所属角色)

角色权限表(SecPermission)
ID\RoleID\ObjectID\IsPermt(是|否 ~有权限)


2: 完美型 => 一个用户可有多种角色
功能表(SecObject)
ID\Code\Name\Layer(层次:0->模块、1->功能、2->操作)\Parent(父节点编码)

角色表(SecRole)
ID\Code\Name

用户表(SecUser)
ID\Code\Name

角色权限表(SecPermission)
ID\RoleID\ObjectID\IsPermt(是|否 ~有权限)

用户角色表(SecUserRole)
ID\UserID\RoleID

#3


(层次:0->模块、1->功能、2->操作)\Parent(父节点编码)
这里不懂

#4


可以在用户表中留一个字段,用于存储权限字符串!
针对这个字符串进行操作...

#5


建议用微软集成的Membership
可以在基础上进行扩展。
参考详细地址:http://www.blueidea.com/tech/program/2007/4676.asp

#6


mark

#7


角色名,用户名
参考
参考

#8


一个用户一个对应一个角色

一个角色对应多个权限

某些特定的用户可以再一个角色上面再添加一些权限
可分为:
用户表:
     用户ID
     用户名
     角色ID
角色表:
      角色ID
     角色名
权限表:
      权限ID
     权限名
角色权限关系表:(判断角色有哪些权限)
     角色ID(用户ID)
     权限ID

#9


MARK

#10


该回复于2009-06-18 17:33:59被版主删除

#11


学习。

#12


永恒的5表~

#13


operation(是指如审核新闻,发布新闻这些具体的?)表和privilieage(是指add, update,delete,select这些抽像的???)表有哪些字段,说上一下。