我想判断用户是否在BaseController的initController方法中直接登录到我的应用程序,如果没有登录,则将他们重定向到OIDC身份验证机制(AuthController).
如果我运行下面的代码,我的脚本显然会循环到自己.
BaseController.php
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
if (!session()->userLogin) {
//no user logged in
$this->response->redirect(site_url('/auth'));
}
}
那么,我如何才能阻止AuthControler重定向到自身呢?
我应该覆盖AuthController中的initController方法,还是可以用get_class($this);
判断BaseController中initController中的当前控制器或路由的名称?
哪一个是最合适的?