1

我是 Symfony3 的新手。

我应该怎么做才能将我的基本网址更改https://example.comhttps://example.com/is/

整个应用程序应该从/is/路径开始。

到目前为止,我所做的是,

路由.yml

user:
    resource: "@UserBundle/Resources/config/routing.yml"
    prefix:   /is/

app:
    resource: '@AppBundle/Controller/'
    type: annotation

安全.yml

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/is/.*, role: ROLE_SUPER_ADMIN }

但没有获得成功。我哪里错了,我该怎么办?

编辑- 当前行为

目前,当我去https://example.com/is/它时,它正在将我重定向到,https://example.com/login因为access_controlin security.yml

如果我输入https://example.com/is/login,它会显示404 Path not found错误。

4

2 回答 2

2
resource: "@AppBundle/Controller/"
    type: annotation
    prefix: /is

然后您需要将 /login url 放在 IS_AUTHENTICATED_ANONYMOUSLY 后面,否则当您未登录时,您将永远无法访问登录页面

access_control:
    - { path: ^/is/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/is/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/is/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/is/.*, role: ROLE_SUPER_ADMIN }
于 2017-04-14T07:32:01.637 回答
1

routing.yml使用这个 yml:

resource: "@AppBundle/Controller/"
    type: annotation
    prefix: /is

看看这是否有效。


编辑#2

也像这样更改security.yml:

access_control:
    - { path: ^/is/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/is/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/is/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/is/.*, role: ROLE_SUPER_ADMIN }
于 2017-04-14T06:21:52.727 回答