wangerting1988 2012-05-21 12:21:43 5635次浏览 6条回复 1 0 0

情况是这样的,我在firefox在清除cookie后用户是退出状态,但是在ie下则不是,用户还是登录的状态。我希望ie在清除cookie后,用户也是退出的状态,怎么做。 Yii::app()->user->isGuest 给这个赋值,但是它是只读的。那位大侠有遇到这种情况啊!分享一下呗!!!!!

  • 回复于 2012-05-21 14:04 举报

    应该用CWebUser的login和logout方法。

  • 回复于 2012-05-22 10:07 举报

    貌似一个用户用火狐和Ie同时登陆一个网站的几率是很小的吧。ie和火狐存放cookie的位置是不一样的,所以系统不能同时清,如果非要这个效果只能在logout方法里手动清除另外几个流览器的cookie,这样的问题貌似不能够100%的避免。。。

  • 回复于 2012-05-22 11:22 举报

    在正常的退出时是没有问题的,但是我没有让用户退出,就是用浏览器的工具清除了cookie,清除以后ie还是登录状态,但是火狐是退出状态。我希望ie清除cookie后也是退出状态!怎么做!不知道我这样说明白了吗?

  • 回复于 2012-05-22 14:39 举报

    我试了一下,其实ie下已经退出了,只是"登陆/退出"那还显示着用户名而已,你可以访问需要用户登陆才能看的页面,就能看出来了,它会跳到登陆界面

  • 回复于 2012-05-23 10:42 举报

    Yii::app()->user->isGuest 这个是判断用户是否为登录状态吧!我在ie下清除缓存和cookie后它还是登录的状态,但是火狐则是退出的状态。
    我把

    public function filters()
    {
        return array(
            'accessControl', // perform access control for CRUD operations
        );
    }
    public function accessRules()
    

    这俩个函数放到了Controller.php里这样不用在每个控制器中加了。是我这样写有问题??????
    我觉得这个是yii的bug。我用demo也有这样的情况!!!!1.1.8和1.1.10都是这个情况!!!!

  • 回复于 2016-03-07 09:38 举报

    $duration = '';//期限设置为空,默认关闭浏览器删除session_id
    Yii::app()->user->login($this->_identity,$duration);

    1 条回复
    回复于 2016-03-07 09:40 回复

    这句话楼主应该知道在哪里吧

您需要登录后才可以回复。登录 | 立即注册