加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 站点根目录的Symfony访问控制

发布时间:2020-12-13 22:06:04 所属栏目:PHP教程 来源:网络整理
导读:我创建了一个带有防火墙访问控制的站点,强制用户登录以访问任何内容,即 - { path: ^/,roles: IS_AUTHENTICATED_FULLY} 现在客户想要在网站的根目录上有一个启动页面,即www.sitename.com. 我将此页面映射到DefaultController :: indexAction,但是我无法弄清楚
我创建了一个带有防火墙访问控制的站点,强制用户登录以访问任何内容,即

- { path: ^/,roles: IS_AUTHENTICATED_FULLY}

现在客户想要在网站的根目录上有一个启动页面,即www.sitename.com.

我将此页面映射到DefaultController :: indexAction,但是我无法弄清楚如何允许IS_AUTHENTICATED_ANONYMOUSLY访问此页面,因为没有路径名称,例如www.sitename.com/splash-page来关闭访问控制.

我甚至可以这样做吗?

解决方法

您可以保护除主页网址之外的所有网址:

# app/config/security.yml file
security:
    ...
    access_control:
        # Logged in
        - { path: ^/(.+),roles: IS_AUTHENTICATED_FULLY }
        # no authentication for the homepage:
        - { path: ^/$,roles: IS_AUTHENTICATED_ANONYMOUSLY }

正则表达式^ /(.)将匹配每个URL,而不是包含/之后的内容.

正则表达式^ / $将匹配URL,而不是在/(/是字符串的结尾)之后不包含任何内容.

并且必须在routing.yml文件中声明主页URL:

homepage:
    pattern: /
    defaults: { _controller: ACMEBundle:Default:homepage }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读