Symfony安全访问控制语法

Symfony安全访问控制语法,symfony,security,fosuserbundle,Symfony,Security,Fosuserbundle,我目前有下面的代码,这几乎是我想要的。 有几件事我不明白 每条路前面的^/是什么 什么是$behind^/登录 当我无法访问某个页面时,为什么会重定向到登录页面?我在哪里设置或更改此设置 在要求用户登录以访问任何其他页面(登录/注册页面除外)的同时,是否有一种简单的方法授予对my frontpage(/)的访问权限 我应该使用是完全认证还是角色用户 也找不到任何关于这个主题的清晰信息 access_control: - { path: ^/login$, role: IS_AUT

我目前有下面的代码,这几乎是我想要的。 有几件事我不明白

每条路前面的^/是什么

什么是$behind^/登录

当我无法访问某个页面时,为什么会重定向到登录页面?我在哪里设置或更改此设置

在要求用户登录以访问任何其他页面(登录/注册页面除外)的同时,是否有一种简单的方法授予对my frontpage(/)的访问权限

我应该使用是完全认证还是角色用户

也找不到任何关于这个主题的清晰信息

access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }
        - { path: ^/, role: IS_ATHENTICATED_FULLY }
关于^和$

^=字符串的开头 $=字符串结尾

是否已完全验证或角色用户: 你不能直接比较这两个。可以对您进行完全身份验证,而不具有用户角色。 “完全验证”仅表示您在此会话中未通过“记住我”机制登录,而是主动输入密码。 但是,它不会检查授予登录用户的角色

详情如下:

在要求用户登录以访问任何其他页面(登录/注册页面除外)的同时,是否有一种简单的方法授予对my frontpage(/)的访问权限

尝试:


似乎是可行的,尽管我不完全理解为什么需要第1行,或者$到底是什么意思结尾处的$表示“ends with”,在本例中(^/$)仅表示根路径。
access_control:
    - { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, role: ROLE_ADMIN }
    - { path: ^/*, role: IS_AUTHENTICATED_FULLY }