当前位置: 技术问答>java相关
请问,web上的权限设计一般有什么方法?
来源: 互联网 发布时间:2015-05-02
本文导语: 比如,在csdn论坛上,管理员,版猪,还有普通人的权限都有不同,当然我可以通过简单的session判断,但如果角色多了,权限也比较复杂了,或者权限要动态的分配,或者以个人可有多种角色,权限设计有更好更容易...
比如,在csdn论坛上,管理员,版猪,还有普通人的权限都有不同,当然我可以通过简单的session判断,但如果角色多了,权限也比较复杂了,或者权限要动态的分配,或者以个人可有多种角色,权限设计有更好更容易扩展的方法吗?有着方面的资料吗?
谢谢,如果分不够,继续加,我这理分太多了,花不完:)
谢谢,如果分不够,继续加,我这理分太多了,花不完:)
|
我也做过OA,其中的权限设置是把系统中每一个模块设置成一个权限,
其表设计为
//------------------------------------------------------------
UserName Right
Admin 模块一
Admin 模块二
Admin 模块三
Guest 模块一
Guest 模块三
//------------------------------------------------------------
当用户登陆是检测用户的权限,然后在系统中只显示用户在权限表中用户所能登陆的模块的超链接。
其表设计为
//------------------------------------------------------------
UserName Right
Admin 模块一
Admin 模块二
Admin 模块三
Guest 模块一
Guest 模块三
//------------------------------------------------------------
当用户登陆是检测用户的权限,然后在系统中只显示用户在权限表中用户所能登陆的模块的超链接。
|
Users:UserName,Password;
Roles:Roles,Acl
aclmgr:UserName,Roles
Roles:Roles,Acl
aclmgr:UserName,Roles
|
权限:userid;char(18)
privilege:char(1)或者int
比如:privilege为char(1)可以设定a为管理员,b为斑竹,c为。。。。
用户注册的时候自动讲这个字段设成权限最低的,以后可以修改,用户登陆的时候读去该字段来判断它的权限!
privilege:char(1)或者int
比如:privilege为char(1)可以设定a为管理员,b为斑竹,c为。。。。
用户注册的时候自动讲这个字段设成权限最低的,以后可以修改,用户登陆的时候读去该字段来判断它的权限!
|
思想:任何一个数可以分解为2的几次方的和,例如:
2^0+2^2+2^3=13
我们可以定义0为超级用户,1为某一部门主管,2为管理员,3为一般用户
如果数据库存的数据是13,说明他有023三种权限
回去想一想,试试
至于怎样分解一个数,把十进制转变为二进制,进行分解
2^0+2^2+2^3=13
我们可以定义0为超级用户,1为某一部门主管,2为管理员,3为一般用户
如果数据库存的数据是13,说明他有023三种权限
回去想一想,试试
至于怎样分解一个数,把十进制转变为二进制,进行分解
|
以前做OA的时候用过
有一个权限表
一条记录为一个操作的权限值
后台可以给用户分配权限
不知是不是这个意思~
有一个权限表
一条记录为一个操作的权限值
后台可以给用户分配权限
不知是不是这个意思~
|
也就是做个数据字典啦
其中保存的是系统权限设置等信息
其中保存的是系统权限设置等信息