私は意図的にカスタムエラーページにしようとすると、未定義のルートにアクセスしようとすると、サーバーは500エラーで応答します。ログは言う:Symfony 2.8 - どのURLにファイアウォールを設定するのですか?
request.CRITICAL:(symfonyの\コンポーネント\セキュリティ\コア\例外の\ AuthenticationCredentialsNotFoundException例外を処理するときにスローされる例外:。トークンストレージが全く認証トークンが含まれていない一つの可能な理由はありませんがあることかもしれこのURLのために設定されたファイアウォール。
この例外は500エラーが故に、NotFoundException後にスローされます。 はこのように、私は、任意のURLのためにファイアウォールを設定する方法を見つけ出すことを試み、より具体的には、これらのすべてについて誰が既にファイアウォールで処理されているのかを確認することができます。発見される。私はまで来たこのUserBundle /リソース/設定/ security.ymlファイル:
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt))/
security: false
public:
pattern: ^/(contact/faq)$
anonymous: true
secure:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
login_path: fos_user_security_login
check_path: fos_user_security_check
use_forward: false
failure_path: null
default_target_path: /
remember_me: true
logout:
path: fos_user_security_logout
target: /
anonymous: true
remember_me:
secret: %secret%
name: whatev
lifetime: 31536000
path: /
remember_me_parameter: _remember_me
secure: true
always_remember_me: true
default:
anonymous: true
すべてのから構成され、私のメインのセキュリティファイルにインポート:
imports:
- { resource: "@UserBundle/Resources/config/security.yml" }
security:
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
access_control:
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY } # my try to match all routes...
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/administration/, role: ROLE_ADMIN }
- { path: ^/user$, role: IS_AUTHENTICATED_FULLY }
はここに私のerror.htmlです。アプリ/リソース/ TwigBundle /ビュー/例外下小枝:
<!DOCTYPE html>
<html>
<head>
<meta charset="{{ _charset }}" />
<title>An Error Occurred: {{ status_text }}</title>
</head>
<body>
<h1>Oops! An Error Occurred</h1>
<h2>The server returned a "{{ status_code }} {{ status_text }}".</h2>
<div>
Something is broken. Please let us know what you were doing when this error occurred.
We will fix it as soon as possible. Sorry for any inconvenience caused.
</div>
</body>
</html>
続行する方法上の任意の手掛かりを?
ありがとうございます。
あなたは私達にあなたの 'error.twig'(またはものは何でもあなたは404エラーのために使用)テンプレートを表示することができますか? – Federkun
ビューでis_granted()を使用するときに問題が発生する可能性がありますが、私はそうではありません。私はとにかく私の意見を表示するように編集しました。 – Matt
'AuthorizationChecker :: isGranted'を使用し、ファイアウォールのイベントが登録される(優先度<= 8)前に送出されるイベントリスナーを作成しましたか? – Federkun