"User"という名前のバンドルを作成しました。一般的なルーティングでは、すべてのUserBundle URLに/ userを追加しました。たとえば、UserBundleでルート/リストを定義すると、実際のパスはhttp://myapp.loc/user/listになります。symfony2のセキュリティ
私はこれやって、このウェブサイトを使用するためにログインするユーザーを強制しようとしている:
InvalidConfigurationException:無効な私はこのようなエラーを取得しています
security: firewalls: login_firewall: pattern: ^/user/login anonymous: ~ secured_area: pattern: ^/ form_login: login_path: user_login check_path: user_login_check default_target_path:/ logout: path: /user_logout target: user_login remember_me: key: atipics-soft2012 lifetime: 3600 access_control: - { path: ^/, roles: ROLE_USER } providers: users: entity: { class: MyApp\UserBundle\Entity\User, property:email } encoders: MyApp\UserBundle\Entity\User: { algorithm: sha512, iterations: 10 }
をパスの設定 "security.firewalls.secured_area":ログインメソッド "form_login"のcheck_path "user_login_check" がファイアウォールパターン "^ /"と一致しません。
何が問題なのですか?
私はこのルートをroutesファイルに追加しました。
アクセスコントロールからログインページを除外する必要があります。そうしないと、ログインしていないユーザーはログインページにアクセスすることができなくなります。 – Sgoettschkes
あなたは正しいですが、私はすでにそれを試しました。ポイントは、アプリケーション全体を確保することです。あなたはいくつかの方法を知っていますか? – Bernat
あなたのaccess_controllリストに '' - {path:^/user_login、roles:IS_AUTHENTICATED_ANONYMOUSLY} ''を追加してみてください。 – Sgoettschkes