权限问题

liubi 2003-09-29 06:07:15
我的权限只有1个:1为可以操作 0为不可以操作,已有栏目23个,
想实现:登陆后,
1、不同权限用户只能看到与操作自己有操作权限的栏目。
2、栏目增加栏目后管理员马上就能分配用户管理此栏目权限.
...全文
62 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinyaoxp 2003-10-18
  • 打赏
  • 举报
回复
up
jueban9818 2003-09-30
  • 打赏
  • 举报
回复

$result = mysql_query("select operation from role where id=$role_id");
$list = mysql_result($result, 0, 'operation');
$list = explode(",",$list);
$sign = 0;
while(list(, $val) = each($list))
{
$val = intval($val);
if($val==5)$sign=1;//本栏目为5,如果数组里有5则为可操作
}
if($sign==0)
{
//exit;不可操作...
}
feel8 2003-09-30
  • 打赏
  • 举报
回复
to liubi(liubi)

刚刚装了3.0的,先用phpmyadmin导入idowns3.sql 再配置一下config.php 发现程序编译了,得装Zend Optimizer 才能正常运行,怕麻烦的话,可以去下载一个2.0的版本看看,里面定义了对某一分类的各种操作,如查看,添加,删除等。
liubi 2003-09-30
  • 打赏
  • 举报
回复
to feel8(准备早起的鸟)

运行"冰冰下载系统"时显示如下信息:

Parse error: parse error, expecting `T_CONSTANT_ENCAPSED_STRING' in ./common.php on line 73

Fatal error: Cannot instantiate non-existent class: xmlparse in ./header.php on line 8

这些信息说明了什么问题?应该怎么做才能正常运行程序。
liubi 2003-09-30
  • 打赏
  • 举报
回复
在这先谢谢各位了。等我仔细看过后再选择那位的。

大家可继续对此发表个人好的意见

可以在原来基础上加入给超级管理员一个直观的管理环境。

可以谈出详细的步骤,也要谈谈实现思想。
Mistruster 2003-09-30
  • 打赏
  • 举报
回复
例如一个用户的role_id=3
在role表里id=3 , operation="2,4,6"
某栏目为5

$result = mysql_query("select operation from role where id=$role_id");
$list = mysql_result($result, 0, 'operation');
$list = explode(",",$list);
$sign = 0;
while(list(, $val) = each($list))
{
$val = intval($val);
if($val==5)$sign=1;//本栏目为5,如果数组里有5则为可操作
}
if($sign==0)
{
//exit;不可操作...
}
Mistruster 2003-09-30
  • 打赏
  • 举报
回复
建立一个role表只要两个字段:id(int) , operation(text)

每个注册用户有一个字段role_id

role.operation存放为 "1,2,3,4,6,23"
表示具有这个角色的人可操作的栏目为1,2,3,4,6,23

用explode,implode函数对role.operation进行处理

管理员只需每次管理role表里东西……
feel8 2003-09-30
  • 打赏
  • 举报
回复
可以参看一下冰冰下载系统的权限设置
http://www.chinaz.com/download/software.asp?SOFTWAREID=10182
xuzuning 2003-09-30
  • 打赏
  • 举报
回复
补充一下
用户权限可在登录后保存于session中
栏目号可直接写在处理程序中
xuzuning 2003-09-30
  • 打赏
  • 举报
回复
方案一:
栏目表:包含栏目编号和栏目名两字段
说明:栏目编号 从0开始,不重复。设定后不能改变,以免影响设置

用户表:包含用户名和权限字段
说明:权限字段可使用varchar类型可容纳255个栏目,如还嫌不够可使用text类型

用户权限格式:(23)
"11111111111111111111111" 全部有权
"00000000000000000000000" 全部无权
即 某字节为"1"有权,某字节为"0"无权

当用户访问时某栏目时
从栏目表中取得该栏目的栏目号
从用户表中取得该用户的权限

if(权限[栏目号] != "1")
无权访问时的操作
继续

设置用户权限和增加栏目后
从栏目表中取得全部栏目的信息
从用户表中取得某用户或全部用户的信息
对用户权限做
preg_match_all("/./",权限,$ar);
$权限数组 = $ar[0];
将用户权限分割成数组,其下标为栏目号,值为相应的权限

调整完毕后,用
$s = join("",$权限数组);
合并成串,修改用户表
caodavid2003 2003-09-30
  • 打赏
  • 举报
回复
在设计的时候事先规定好访问权限,1代表什么,2代表什么等等。在用户账号信息表中添加权限这个字段;当用户注册时管理员给他(她)分配一个访问权限;对于具有不同权限的用户给于不同的界面。(一边做法是在权限比较低的用户登陆时,使用脚本将他(她)不能操作的命令按钮设置为不可见或设为不可用,对于不允许看到的显示区:可使用document.all.("div_id").innerHTML="",这样看起来不同权限用户访问的页面不同,实际是相同的)
liubi 2003-09-30
  • 打赏
  • 举报
回复
to:feel8(准备早起的鸟)

突然想起来加在"一"下面吧。
1、当管理员需要改变某用户管理的栏目时,应马上列出此用户管理了那些,那些未管理。
2、一个栏目可多人管理。
3、当管理这个栏目时,每页开头都要加段验证是否有权限管理的代码吗。(意思是每页都须重新从数据库查询,判断吗)
lumberjake 2003-09-30
  • 打赏
  • 举报
回复
参考一下一些开放源代码的论坛,
里面的用户权限都设计得很好!
shuiaaa 2003-09-30
  • 打赏
  • 举报
回复
建个数据表,
比如1是修改
2删除
3查看
等等!!!
liubi 2003-09-30
  • 打赏
  • 举报
回复
to:feel8(准备早起的鸟)

一、同时还需要注意:
1、当管理员需要改变某用户管理的栏目时,应马上列出此用户管理了那些,那些未管理。
2、一个栏目可多人管理。

二、能否粗略告之数据库要用那些表,那些字段,字段作用。
feel8 2003-09-29
  • 打赏
  • 举报
回复
可以做到,读此栏目的权限字段,字段里存在的用户可对这个栏目操作,并显示,不存在的不显示不可操作。
栏目添加后,把可以操作和可见的用户名添加到此栏目的权限字段里

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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