我刚开始使用来自Codeigniter(CI)的Yii。我正在尝试设置一种情况,应用程序将在用户凭据甚至可以访问该站点之前检查它们。在CI中,我将创建一个父控制器,将我的支票放在那里,然后继承该父控制器。我一直在尝试用Yii做同样的事情,但没有运气。
我首先创建了一个init()方法(出于某种原因我无法将代码放在__construct()方法中)。然后我执行我的检查,这工作正常。我可以抛出一个新的CHttpException,但看起来很难看。如何使用Yii内置的错误处理来完成我想要做的事情?
答案 0 :(得分:0)
对于简单的登录规则,您应该从Yii实现'accessControl'过滤器,请参阅Yii documentation on authorizations。
另一种方法是抛出Exception,就像你已经做过的那样,编写自定义的Http错误视图,将它放在yerfolder / protected / views / system /中(参见yii / framework / views目录中的例子)
答案 1 :(得分:0)
我通过将错误发送到站点/错误视图然后调用Yii :: app() - > end()来防止子控制器加载来解决这个问题。