讯睿CMS实现需登陆访问页面的写法

官方文件实现访问登陆方法\dayrui\Fcms\Core\Phpcmf.php 

 if (IS_MEMBER) {
            // 开启session
            $this->session();
            // 登录状态验证
            if (!$this->member && !in_array(\Phpcmf\Service::L('Router')->class, ['register', 'login', 'api', 'pay'])) {
                if (APP_DIR && dr_is_module(APP_DIR)
                    && \Phpcmf\Service::L('Router')->class == 'home' && \Phpcmf\Service::L('Router')->method == 'add') {
                    // 游客发布权限
                } else {
                    // 会话超时,请重新登录
                    if (IS_API_HTTP) {
                        $this->_json(0, dr_lang('无法获取到登录用户信息'));
                    } else {
                        \Phpcmf\Service::L('Router')->go_member_login(dr_now_url());
                    }
                }
            }
            // 判断用户的权限
            if ($this->member && !in_array(\Phpcmf\Service::L('Router')->class, ['register', 'login', 'api'])) {
                $this->_member_option(0);
            }

            \Phpcmf\Service::V()->assign(\Phpcmf\Service::L('Seo')->member(\Phpcmf\Service::L('cache')->get('menu-member')));
            //\Phpcmf\Service::V()->assign([ ]);
        }

有如上代码可知,只需要在自己写的控制器实现如下代码就可以未登陆跳转登陆页面:

public function add() {
	    if(!$this->member){
            \Phpcmf\Service::L('Router')->go_member_login(dr_now_url());
        }
		$this->_Member_Add();
	}

 

你可能感兴趣的:(讯睿CMS实现需登陆访问页面的写法)