高分求解,得分很容易的哟,来者都有分!!常见问题求解--用户权限指派

时间:2023-01-28 19:54:23
对于一个社区,下设多个频道,频道下设多个栏目,栏目下有多个论坛
现在问题是对于社区按级设有多个管理人员,上级可以指派自己所拥有的权限给下级,同级之间可以委托
求具体的算法和表结构。
我个人认为可以抽象成为树型结构,洗耳恭听各位的高见,谢谢!!

24 个解决方案

#1


给出有确实可行性答案的朋友再给200分,决不食言!!!

#2


我只知道简单的二级权限,不是很复杂,做权限复制就行。

#3


具体权限包括删除、修改、锁定、封ip等等,欢迎大家前来讨论

#4


我没做过相应的东西,不过我想,可以把权限与级别放在表里,在做每个动作时,都检查当前用户的级别与对于的权限。

#5


关键在于可以任意指派和委托比较难做

#6


把某用户的权限存入一表中,当指派时把该值取出来赋给另一用户就可以吧

同级委托我觉得一样啊

权限我觉得可以用每个栏目的ID中间用“,”连接起来,包含该ID就算是有该栏目的权限

#7


感谢 joise(卓一思)
能给一点具体的代码和表结构吗?
高分感谢哟:)哈哈,帮帮忙啦

#8


还有就是上级可以管理下级负责的栏目啊什么的哟!!!

#9


一般我可能会用到4个表来控制,用户资料表、用户组表、用户组菜单表(每个用户组可访问哪些菜单)以及菜单明细表,至于需要上级管理下级的话建议不要用树形的方式,而是采用包含的形式,比如1级的为编号01,它可管理的下级为0101,或者010101,这样只要判断数据库中编号头两个字等于上级并且长度>2的就是1级所管理的下级,当然可以管理其对应的菜单功能了

P.S:只是自己的一点想法,表结构的建立建议你去数据版问,比如SqlServer版,高手多

#10


如楼上所说,我觉得应该主要考虑数据库的结构问题

#11


用sql授权命令赋予不同的用户权限啊。

#12


为什么不参照windows的用户管理结构哪,这么好的例子不用

#13


就是想参考啊,可是给个算法和表结构啊,呵呵

#14


GZ

#15


gz!!

#16


推荐使用组管理,仔细研究一下windows2K、sqlserver、oracle的权限管理,相信对你启发思路有好处。

#17


gz

#18


有好的解决方法者也可以联系QQ:  514400
分照样给的:)

#19


天啊,SQL版居然没有人答问题,原来高手不寂寞啊:)
还是asp.net版的兄弟们雄起啊,SQL版还有一百分哟

#20


gz

#21


角色、权限、员工、OK

#22


麻烦兄弟详细点,好吗?好事做到底吧!

#23


对权限管理的一点思考
权限管理一般来说有以下的一些情况:

1。 继承,child 能从 parent 得到所有的权限(parent的权限改变他要跟着改变)其中又会有多继承的现象。
2。 授权,child 能得到指定的权限。(此时他得到授权后和给与他权限的人脱离关系。授予人的权限被不剥夺不影响他的权限)

基于以上的考虑。准备建立三张表来表示一个人的权限。
user
user 
{
userId  //用户id
rightId //用户的权利(不是继承来的)
root    //是否有parent
}

//parent 主要是用来解决多继承的问题
parent
{
pkId    //标志
childId //
parent  //
}

//right 表
{
userid
right   //实际权限
}

如果一个用户继承自一个parent那么他又该parent的所有权利
如果一个用户得到授权 那么他只有确定的权限。他应该成为一个root
整个权限建立起来得到的是一个图结构。

初次考虑这种问题,一点愚见。
请高手不吝指教 !!!!!

#24


请给我留言的兄弟和我联系好吗?
我想你一定是金算盘的啦,呵呵
qq:514400

#1


给出有确实可行性答案的朋友再给200分,决不食言!!!

#2


我只知道简单的二级权限,不是很复杂,做权限复制就行。

#3


具体权限包括删除、修改、锁定、封ip等等,欢迎大家前来讨论

#4


我没做过相应的东西,不过我想,可以把权限与级别放在表里,在做每个动作时,都检查当前用户的级别与对于的权限。

#5


关键在于可以任意指派和委托比较难做

#6


把某用户的权限存入一表中,当指派时把该值取出来赋给另一用户就可以吧

同级委托我觉得一样啊

权限我觉得可以用每个栏目的ID中间用“,”连接起来,包含该ID就算是有该栏目的权限

#7


感谢 joise(卓一思)
能给一点具体的代码和表结构吗?
高分感谢哟:)哈哈,帮帮忙啦

#8


还有就是上级可以管理下级负责的栏目啊什么的哟!!!

#9


一般我可能会用到4个表来控制,用户资料表、用户组表、用户组菜单表(每个用户组可访问哪些菜单)以及菜单明细表,至于需要上级管理下级的话建议不要用树形的方式,而是采用包含的形式,比如1级的为编号01,它可管理的下级为0101,或者010101,这样只要判断数据库中编号头两个字等于上级并且长度>2的就是1级所管理的下级,当然可以管理其对应的菜单功能了

P.S:只是自己的一点想法,表结构的建立建议你去数据版问,比如SqlServer版,高手多

#10


如楼上所说,我觉得应该主要考虑数据库的结构问题

#11


用sql授权命令赋予不同的用户权限啊。

#12


为什么不参照windows的用户管理结构哪,这么好的例子不用

#13


就是想参考啊,可是给个算法和表结构啊,呵呵

#14


GZ

#15


gz!!

#16


推荐使用组管理,仔细研究一下windows2K、sqlserver、oracle的权限管理,相信对你启发思路有好处。

#17


gz

#18


有好的解决方法者也可以联系QQ:  514400
分照样给的:)

#19


天啊,SQL版居然没有人答问题,原来高手不寂寞啊:)
还是asp.net版的兄弟们雄起啊,SQL版还有一百分哟

#20


gz

#21


角色、权限、员工、OK

#22


麻烦兄弟详细点,好吗?好事做到底吧!

#23


对权限管理的一点思考
权限管理一般来说有以下的一些情况:

1。 继承,child 能从 parent 得到所有的权限(parent的权限改变他要跟着改变)其中又会有多继承的现象。
2。 授权,child 能得到指定的权限。(此时他得到授权后和给与他权限的人脱离关系。授予人的权限被不剥夺不影响他的权限)

基于以上的考虑。准备建立三张表来表示一个人的权限。
user
user 
{
userId  //用户id
rightId //用户的权利(不是继承来的)
root    //是否有parent
}

//parent 主要是用来解决多继承的问题
parent
{
pkId    //标志
childId //
parent  //
}

//right 表
{
userid
right   //实际权限
}

如果一个用户继承自一个parent那么他又该parent的所有权利
如果一个用户得到授权 那么他只有确定的权限。他应该成为一个root
整个权限建立起来得到的是一个图结构。

初次考虑这种问题,一点愚见。
请高手不吝指教 !!!!!

#24


请给我留言的兄弟和我联系好吗?
我想你一定是金算盘的啦,呵呵
qq:514400