如何实现访问所有前端页面未登录就跳转到登录界面?
使用首页钩子cms_index能成功实现访问首页是判断是否登录跳转,,但其它页面就不行了,比如栏目页,信息内容页等等页面。
于是想用 主程序运行之后钩子 cms_init
结果页面都打不开了,重定向次数过多,
\Phpcmf\Hooks::on('cms_init', function() {
if (!\Phpcmf\Service::C()->uid) {
dr_redirect(dr_member_url('login/index'));
}
});如果想要所有前端页面都判断是否登录,该怎么办呢
\Phpcmf\Hooks::on('cms_init', function() { if (!\Phpcmf\Service::C()->uid && !in_array(\Phpcmf\Service::L('Router')->class, ['register', 'login', 'api', 'pay'])) { dr_redirect(dr_member_url('login/index')); } });加一个判断试试if (!\Phpcmf\Service::C()->uid && !IS_ADMIN && !in_array(\Phpcmf\Service::L('Router')->class, ['register', 'login', 'api', 'pay'])) { dr_redirect(dr_member_url('login/index')); }排除后台if (!\Phpcmf\Service::C()->uid && !IS_ADMIN) { dr_redirect(dr_member_url('login/index')); }试试这个你这个也不行,,重定向次数过多。#2楼的可以