后台权限检查函数问题!

wadw1103 2006-02-08 10:17:23
1、功能:检查管理员是否登录,登录信息是否超时,登录管理员是否有权限进行相应操
作。如果登录判断失败,则使用js 中的alert()提示“登录信息超时”页面跳转回登录
页面
如果权限判断失败,则使用js 中的alert()提示“您无权进行此操作”,页面跳转回上
一页。

2、函数名:Check_Session($Right)

参数:$Right为权限编号,权限编号将另外定义

3、例如:后台有添加文章、删除文章、修改文章权限!

大家帮忙提供一下思路,谢谢!
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnpanq 2006-02-09
  • 打赏
  • 举报
回复
对于权限。
每一个操作你在数据库中定义一个ID
系统的权限表如下
ID 操作
1 添加
2 修改
3 删除

用户的权限表
user_id 拥有权限
1 1,2,3
2 1

用户1具有添加,修改,删除的权限。
用户2只有添加的权限。

如用户1执行添加(ID为1)操作时,用户1的权限数组$_SESSION['permission']的各个值为1 2 3。
$Right = 1;
check_session($Right);
//这个函数检查 $Right 是否在 $_SESSION['permission'] 这个数组中,如果在就有权限,否则没权限。





johnpanq 2006-02-08
  • 打赏
  • 举报
回复
没有做测试,思路大概如下:

function Check_Session($Right)
{

$msg = '';

//判断是否已经登录,在用户登录时用session保存登录标识
if (!$_SESSION['is_login'])
{
$msg = "您还没有登录";
}
//判断是否超时,用session记录上一次操作时间, 当前操作时间 - 上次操作时间 > 5分钟,则超时
else if ((time() - $_SESSION['last_time'])/60 > 5)
{
$msg = "操作超时";
}
//判断权限,用户的操作权限从数据库中读出,保存在session中,用数组形式,如果当前操作的ID $Right不在用户权限数组中,视为无权限
else if (in_array($Right,$_SESSION['permission']))
{
$msg = "没有权限";
}

if ($msg)
{
$js = "<script language='javascript'>";
$js .= "alert('".$msg."');"; //提示信息
$js .= "history.back();"; //退回上一页
$js .= "</script>";
}
else
{
$_SESSSION['last_time'] = time(); //记录操作时间

//其他处理
}

}
wadw1103 2006-02-08
  • 打赏
  • 举报
回复
在线等!
wadw1103 2006-02-08
  • 打赏
  • 举报
回复
这个我知道,关键是权限那块!
pswdf 2006-02-08
  • 打赏
  • 举报
回复
Check_Session($Right)
{
if (!$_SESSION['Right])
{
$msg = "您还没有登录";
}
else if()
{
$msg = "登录成功";
}

}
最简单吧
wadw1103 2006-02-08
  • 打赏
  • 举报
回复
谢谢楼上的,但我还想问一下:$Right需要另外定义一下吗?还是关于权限那块,麻烦你再多说几句!谢谢!

21,886

社区成员

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

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