1

奇妙な問題があります。ページへのアクセスを閉じることができません

/registration
/login
/resetting

すでに承認されているユーザーの場合。

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/profile, role: ROLE_USER }
    - { path: ^/admin/, role: ROLE_ADMIN }

ルール ROLE_USER を持つユーザーがページ /login にアクセスできるのはなぜですか? そして、どうすればそれを閉じることができますか? テンプレートまたは security.xml を使用していますか?

/login にアクセスしたい場合、ルール ROLE_USER でユーザーをリダイレクトするにはどうすればよいですか?

4

1 に答える 1

5

ロールは Symfony2 で階層的に決定されます。ROLE_USER は明らかに IS_AUTHENTICATED_ANONYMOUSLY の最上位にあるため、ユーザーは匿名のユーザーがアクセスできるすべてのページにアクセスできます。

アクセスを制限したい場合は、ユーザーが認証されているかどうかをコントローラーで確認し、この場合はリダイレクトする必要があります。

于 2012-02-06T14:32:21.093 に答える