使用Base父类实现后台登录控制逻辑
明确两点:
1. 未登录,访问后台任何页面,直接跳转到登录页。
2. 已登录,访问登录页面,直接跳转后台首页。
建立Base控制器作为父类,其他登录页面和后台页面继承Base控制器
Base类实现initialize()方法,拦截未登录
class Base extends BaseController { public function initialize() { $loginAdmin = session('adminloginData'); if(!$loginAdmin){ return $this->redirect('/dongadmin/login'); } } public function redirect(...$url){ throw new HttpResponseException(redirect(...$url)); } }
登录页login控制器实现initialize()方法,覆盖父类Base的initialize()方法。已登录后访问登录页,跳转到后台首页
public function initialize() { if(session('adminloginData')){ return $this->redirect('/dongadmin/index/index'); } }