请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 2379|回复: 5

acl权限问题

  [复制链接]
发表于 2015-7-6 12:18:28 | 显示全部楼层 |阅读模式
现在acl权限问题,退出之后,或者登录帐号A,进后台他显示的缓存一直是管理员的B帐号
TMP删除了。退出代码是:
                   $_SESSION = array();
                  if (isset($_COOKIE[session_name()])) {setcookie(session_name(), '', time()-42000, '/');}
                   session_destroy();


但是不知道为什么,进入后台的缓存就一直是管理员的,浏览器也清楚缓存了。。。求解
发表于 2015-7-6 17:17:35 | 显示全部楼层
1. ACL不存在退出的问题,退出登录是销毁SESSION

2. SESSION的销毁方法,不是上述的方法,SESSION直接设空就行。

如果要用cookie的方法设空session,那么是 setcookie(session_id(), '', time()-42000, '/');
 楼主| 发表于 2015-7-6 18:12:02 | 显示全部楼层
jake 发表于 2015-7-6 17:17
1. ACL不存在退出的问题,退出登录是销毁SESSION

2. SESSION的销毁方法,不是上述的方法,SESSION直接设空 ...

                        spClass('spAcl')->set($result['aclname']);
                        $_SESSION["userinfo"] = $result;

我有在function里面赋予,就是登陆成功后,会把他的信息记录在SESSION里,然后退出时候销毁SESSION,用的是JAKE很早的一个留言本案例里面的,在什么情况下,销毁session会无效呢?  不用登陆,直接打地址,后台一直显示管理员的SESSION

发表于 2015-7-7 08:26:32 | 显示全部楼层
278086346 发表于 2015-7-6 18:12
spClass('spAcl')->set($result['aclname']);
                        $_SESSION["userinfo"] = $result;

session_name和session_id是不同的~~~
 楼主| 发表于 2015-7-7 10:47:59 | 显示全部楼层
jake 发表于 2015-7-7 08:26
session_name和session_id是不同的~~~
  1.                    $_SESSION = array();
  2.                   if (isset($_COOKIE[session_id()])) {setcookie(session_id(), '', time()-42000, '/');}
  3.                    session_destroy();
  4.                    $this->success("成功退出!", spUrl("main","index"));
复制代码
  1.     public function userlogin($us_name,$us_password){
  2.         $conditions=array(
  3.            'us_name'=>$us_name,
  4.            'us_password'=>$us_password,
  5.         );
  6.                 if( $result = $this->find($conditions) ){
  7.                         spClass('spAcl')->set($result['acl']);
  8.                         $_SESSION["userinfo"] = $result;
  9.                         return true;
  10.                 }else{
  11.                         return false;
  12.                 }
  13.     }
复制代码

已经把name换成ID  点击退出成功,在输出后台地址,还是可以直接进,显示_SESSION信息还是管理员的。。。

 楼主| 发表于 2015-7-7 11:15:03 | 显示全部楼层
jake 发表于 2015-7-7 08:26
session_name和session_id是不同的~~~

已解决,我把所有代码都删除,重新复制粘贴,又可以了。。。
您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2019-12-10 04:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表