我剛剛發現了SensioLabsInsight,發現如何編寫優質代碼的代碼非常多interesting tips。如果爲什麼(或爲什麼不)應該使用某種解釋會很好,即使對於像exit
和die
這樣的基本東西也是如此。這有助於我向與之合作的人解釋事情。如何在Symfony2中創建禁止響應?
所以我的問題是專門爲AccessDeniedHttpException - 它說:
Symfony的應用程序不應該拋出AccessDeniedHttpException
那麼,如何返回403從應用程序控制器或事件監聽紫禁城?
最佳做法是什麼?
說實話,我認爲這將是
throw new AccessDeniedHttpException()
由於爲404你有
throw $this->createNotFoundException()
但它看起來像我錯了。 (?)
那麼,在我的情況下,它不返回403,但重定向到登錄頁面。但是因爲我正在構建API,所以我確實需要403.我現在正在測試說:'當前的響應狀態代碼是200,但是預期爲403.# –
好的,您可以手動返回如下響應://返回'403 Forbidden'HTTP響應 $ response = new Response(); $ response-> setStatusCode(403); $ event-> setResponse($ response);但我不知道這是否適用於您的特殊情況。 – Tocacar