歴史: 原題:のProdは、DEVが失敗した
アクセスは拒否されました...ユーザーが完全に認証されていません。 IS_AUTHENTICATED_ANONYMOUSLY
完全に機能2.8.8サイトは、新鮮な3.1.2のインストールに再建されたログイン。 symfonyがインストールされると、composer.json
は2.8サイトからの依存関係を含むように変更されました。インストールは成功しました。 Dev環境は以下のように動作します。この問題に対する追加的な取り組みを得るために、環境を改善しました。 2.8 phpunitのテストで明らかにされなかったいくつかの非難を明らかにしました。それらがクリアされると3.1環境は2.8環境として動作しました。結論は、問題を引き起こす2.8と3.1の開発環境の間にいくつかの違いがあるということです。もちろん、私は途中で足のどこかに自分自身を撃ったかもしれない。
オリジナル質問:新鮮な3.1のインストールで
FOSUserBundle、/login
/W、/
ルートはdevのログエントリとループになる:
編集:サイト全体を確保することです。 access_control指示文{ path: ^/, role: ROLE_USER }
は間違いではありません。このサイトはsymfony 2.8.8でうまく動作します。
編集#2:プロード環境が適切に動作することがわかります。デベロッパーはしません。 config_dev.yml
とrouting_dev.yml
は、3.1のデフォルトのymlです。
request.INFO: Matched route "{route}". {"route":"fos_user_security_login" ...
security.INFO: Populated the TokenStorage with an anonymous Token....
security.DEBUG: Access denied, the user is not fully authenticated; redirecting to authentication entry point
security.DEBUG: Calling Authentication entry point....
Chromeは言う:
はあなたに何回も
ファイアウォールの変更が必要にリダイレクト?
(docsからの基本的な、:、変更を加えた)のsecurity.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface:
algorithm: md5
ignore_case: true
encode_as_base64: false
iterations: 1
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_USER }
あなたはまだ/ register url経由でユーザーを登録しましたか? –
匿名ユーザーとしてサイトにアクセスしようとすると上記のようになりますので、登録されることはありません。期待は、匿名ユーザーとして私はログインする必要があるということです。これはSymfony 2.8.8で構築されたアプリケーションブランチで起こります。 – geoB
私は: 'security.yml'と全く同じものを追加するべきです。 – geoB