thinkphp判斷是否登錄


自己寫一個BasicController繼承了官方的Controller,將判斷登錄的代碼放在BasicController中,然后讓其他自己編寫的Controller都繼承BasicController。

這里使用了_initialize()方法。

class BasicController extends Controller
{
    public function _initialize(){
    //獲取登錄的cookie,正常則返回uid,沒有或異常則返回false,具體略
    $uid = getUidByCookie();
        //如果未登錄,或cookie有異常
        if (!$uid) {
            $actionName = strtolower(ACTION_NAME);
            $controllerName = strtolower(CONTROLLER_NAME);
            switch ($controllerName) {
                case "task":
                    //task控制器中的show、search、worker操作方法不需要登錄
                    if (!in_array($actionName, array("show", 'search', 'worker'))) {
                        $this->error('需要登錄', U('User/login'), 1);
                        exit;
                    }
                    break;
                case "user":
                    //user控制器中的login、logout操作方法不需要登錄
                    if (!in_array($actionName, array('login', 'logout'))) {
                        $this->error('需要登錄', U('User/login'), 1);
                        exit;
                    }
                    break;
            }
        }
    }
}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM