【问题标题】:http 403 exception not displaying properlyhttp 403 异常未正确显示
【发布时间】:2016-10-20 18:32:23
【问题描述】:

我已经实施了一组规则,但是当用户尝试访问受限区域时,我得到的是文本输出,而不是一个很好的 boostrap 警报。我怎样才能让它再次工作?

规则:

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'only' => ['index', 'view'],
            'rules' => [
                [
                    'roles' => ['@'],
                    'actions' => ['index', 'view'],
                    'allow' => true,
                ],
            ],
        ],

异常信息:

An Error occurred while handling another error:
exception 'yii\web\ForbiddenHttpException' with message 'You are not allowed to perform this action!.' in ###\vendor\yiisoft\yii2\filters\AccessControl.php:151
Stack trace:...

【问题讨论】:

  • 将环境 'YII_ENV' 切换到生产环境。
  • 我试过了,我收到一条消息“内部服务器错误”和一个空白页。这一切以前都在工作,所以不确定我做了什么。 (PS:为了切换到生产,我在 web/index.php 中注释掉了 dev - 我认为这是正确的)。
  • 对。检查运行时app.log,这里抛出了一些其他错误。也许没有定义ErrorAction
  • 谢谢。定义了错误处理程序(站点/错误),存在站点/错误页面,运行时日志准确地说明了屏幕上的错误。完全相同的。我正在使用 dektrium 插件,但这一切正常,所以我知道这是我做过的事情......可能在规则或其他内容中
  • 已解决...感谢您的帮助。我会回答这个问题 - 你的指导让我思考,我发现我做了什么!

标签: yii2 httpexception


【解决方案1】:

感谢 Bizley 的帮助。我按照您的指示,发现我相当愚蠢地将我的规则复制到我的站点/错误页面,这意味着我不小心阻止了查看错误页面的能力!!!我删除了违规规则,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多