官方文件实现访问登陆方法\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();
}