信息发布→ 登录 注册 退出

php后台如何避免用户直接进入方法实例

发布时间:2026-01-11

点击量:

1)创建BaseController控制器继承Controller(后台的一切操作要继承BaseController):

在BaseController里面添加:

复制代码 代码如下:
public function checkLogin() {
        
        if (Yii::app()->authority->isLogin() == Yii::app()->authority->getStatus('NOTLOGIN')) {
            $url = $this->createUrl('user/login');
            if (Yii::app()->request->isPostRequest && Yii::app()->request->isAjaxRequest) {
                echo json_encode(array('code' => -101, 'message' => '用户未登录。', 'callback' => 'window.location="' . $url . '";'));
            } else if (Yii::app()->request->isAjaxRequest) {
                echo '<script language="javascript">window.location="' . $url . '";</script>';
            } else {
                $this->redirect($url);
            }
            exit;
        }
        return true;
    }

在components目录下创建Authority.php文件:

复制代码 代码如下:
<?php
 
/**
 * 权限检查组件
 */
class Authority extends CComponent {
    private $NOTLOGIN = -1;
    private $FAILED = -2;
    private $PASS = 1;
 
    public function init() {
         
    }
 
    /**
     * 检查是否登陆
     * @return boolean 
     */
    function isLogin() {
        return isset(Yii::app()->session['user']) ? $this->PASS : $this->NOTLOGIN;
    }
 
  
    /**
     * 获取状态值
     * @param string $name
     * @return int 
     */
    public function getStatus($name){
        return $this->$name;
    }
}

标签:# array  # Controller  # public  # nbsp  # checkLogin  # function  # BaseController  # echo  # isAjaxRequest  # amp  # json_encode  # code  # php  # createUrl  # url  # NOTLOGIN  # user  # isPostRequest  # request  # login  # 目录下  # 用户  # 后台  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!