请大家帮忙评价评价这两个权限分配的方案哪个好?

zf4000 2003-05-30 05:01:17

开发工具:php+apache+mysql,web方式的企业管理系统。对于权限管理,提出两个不同方案。
方案1,
数据库:用户表:user_db=user_id+passwd+name
分组表:group_db=group_id+group_memo;
文件表:file_db=file_id+url+file_memo
用户分组对应表:user_group=user_id+group_id
用户文件对应表:user_file=user_id+file_id
分组文件对应表:group_file=group_id+file_id
文件表用来记录不同的php文件在服务器的存放位置,
开发思路:可以实现管理员控制每个用户对每个web页面的访问权限的目的,每增加一个php文件,就在file_db表中增加一条记录,(通过程序自动更新),每个页面开头加上一个userCheck()函数,用户在登陆系统时,系统保存该用户的user_id,在每个页面的开头对该用户进行认证。
管理员职能
1, 管理不同的用户组对不同的页面的访问权限,
2,管理个别的人对个别页面的访问权限。
方案2,
数据库:用户表:user_db=user_id+passwd+name
分组表:group_db=group_id+group_memo;
权限说明表:qx_db=qx_id+qx_memo
用户分组对应表:user_group=user_id+group_id
用户权限对应表:user_qx=user_id+qx_id
分组权限对应表:group_qx=group_id+qx_id
开发思路:在每个页面的开头加上userCheck(qx_id)函数,判断user_id的用户能否访问qx_id。要求程序员在开发完毕时就把页面文件按功能划分好,管理员控制时,能控制不同的人对不同的qx_id的访问权限,整个系统有多少个文件对管理员是透明的。
管理员职能,1,管理不同的用户组对不同的权限的访问权限,2,管理个别的人对个别权限的访问权限。
这两个方案是我们开发小组提出的,其中方案2是我提出的,我感觉管理员不需要知道整个系统有多少个文件,他只关心整个系统有多少个功能。所以我建议把所有的文件按功能分组,然后将qx_id加在每个文件的开头,但这样可能会发生的问题是,如果系统已经开发完毕,客户要求把属于某个qx_id的其中一个文件单独列出来给其他人访问,这就要改源程序了,
用方案2是可以避免这个问题 ,可是,一个系统如果有上万个页面,那管理员要管理上万个文件,那不是很恐怖的一件事吗??请有用web开发管理系统经验的人进来讨论,从整个系统的可扩展性还有安全性,以及开发方便性方面详细讨论一下。本人抛砖引玉,恳请批评。
...全文
23 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zf4000 2003-05-31
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView3.asp?id=1653829这篇文章我也看过,不过那是windows的编程,不需要想web方式那样每个页面都需要认证,如果单纯的是windows的界面的话问题反而简单了。
WilliamXiaoLiang 2003-05-30
  • 打赏
  • 举报
回复
up!
zhxx 2003-05-30
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView3.asp?id=1653829

luckyfanjian 2003-05-30
  • 打赏
  • 举报
回复
我的意见也是second
AllError 2003-05-30
  • 打赏
  • 举报
回复
petstore用的和第一种差不多.我觉得适合页面不多的项目.
页面多了,就用第二种好了
jsq 2003-05-30
  • 打赏
  • 举报
回复
能实现功能就可以了
zf4000 2003-05-30
  • 打赏
  • 举报
回复
呵呵,谢谢捧场,欢迎继续讨论
ZeroC 2003-05-30
  • 打赏
  • 举报
回复
第二种,偶合度小,更灵活
shidu 2003-05-30
  • 打赏
  • 举报
回复
偶一直用的第二种
mim 2003-05-30
  • 打赏
  • 举报
回复
我的系统就是用的玩玩儿的方案。基本上。

管理系统,怎么会经常加新的页子呢?
zf4000 2003-05-30
  • 打赏
  • 举报
回复
remanwang(玩玩儿)的建议不错 ,谢谢了
remanwang 2003-05-30
  • 打赏
  • 举报
回复
第二种方案好,客户管理起来方便.
可以考虑将两个方案结合起来:
1.用户表,分组表,用户和分组关系表
2.文件表,功能表,功能文件关系表(即每个功能包括哪些网页)
3.权限表,即用户或者组的功能权限
zf4000 2003-05-30
  • 打赏
  • 举报
回复
我需要理由,不需要感觉,不过还是要谢谢glassprogrammer() ,因为你觉得好的建议是我提出来的,哈哈:)
glassprogrammer 2003-05-30
  • 打赏
  • 举报
回复
应该是第二个好
zf4000 2003-05-30
  • 打赏
  • 举报
回复
没人来讨论吗???
lynx1111 2003-05-30
  • 打赏
  • 举报
回复
那就定一下啦!
ukyer 2003-05-30
  • 打赏
  • 举报
回复
太长了
up
zf4000 2003-05-30
  • 打赏
  • 举报
回复
没人讨论吗??顶一下也行啊。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧