我有一个不寻常的情况,我需要一个特殊的路由前缀来处理与正常情况截然不同的身份验证。基本上,这个路由前缀上的任何请求都在“isAuthorized”(在应用程序控制器上)中被赋予了权限,并且布局被设置为这个连接的特殊布局。到目前为止,以下工作正常:
if(isset($this->params['special']) && $this->params['special'])
{
$this->layout = 'special';
return true;
}
除此之外还需要发生的是,每次发出请求时,都会根据数据库检查密钥/令牌组合是否有有效条目。如果输入无效,我需要使用特殊布局仅输出“无效键/令牌组合”。如果输入有效,它将照常进行。
在哪里进行此检查的合适位置,以便检查该路由前缀上的所有连接,以及如何在失败时仅发送该文本?有没有办法更改路由,以便在身份验证失败时使用不同的控制器和视图?