【问题标题】:Symfony routes not working anymoreSymfony 路由不再工作
【发布时间】:2018-04-13 14:32:10
【问题描述】:

我有一个应用程序已经工作了一段时间,它可以完全登录并创建新的用户功能,并且我试图切换用户 - 以更改角色 - 我无法再次登录。在对代码进行了一些挖掘之后,我发现登录后会抛出 302 代码状态,因此日志记录过程停止工作。

我的 SecurityController 中有这段代码:

return new RedirectResponse('/sys-admin/');

并将该代码更改为:

return $this->forward('AppBundle:SystemAdmin:index', array());

让它工作,我再次登录,但现在我所有的路线都停止工作了,我的意思是在我看来有类似的按钮:

<a href="{{ path('system_admin_client') }}"
                           class="btn pmd-btn-flat btn-default">Go!</a>

当我单击该按钮时,我已注销并重定向到登录页面,并且在任何浏览器的网络选项卡中,我都可以看到路由 sys-admin/client 的状态代码为 302,因为我已注销。

运行 bin/console debug:router 显示我所有的路线都在那里,对于这个示例,运行 bin/console router:match /sys-admin/client 还显示了与控制器的匹配以及所有信息。

这就是我的路线的样子:

app_system_admin:
    prefix: /sys-admin
    resource: "@AppBundle/Resources/config/routing/sys_admin.yml"

sys_admin.yml

system_admin_client:
    path: /client
    defaults: { _controller: AppBundle:SystemAdmin:index}

我不知道出了什么问题!任何帮助将不胜感激。谢谢!

更多信息:我使用的是 Symfony 4.0.4,如果我尝试在任何路由上进行转发之类的操作,但重定向不起作用。

【问题讨论】:

  • 尝试将prefix: /sys-admin 添加到 sys-admin.yml 中。并检查您的安全规则,您的路由器规则看起来不错。
  • @Gedweb 前缀已经添加到父配置文件中。 Yamen Nassif,我认为您的问题中的文件名有错字,它是以名称sys_admin.yml 导入的,在下面您将其命名为“sys-admin.yml”。这令人困惑。
  • @Philippe-B- 不是真的!!这是我的错误,我在这里写错了,因为我说路由器调试正在查看路由!
  • @Philippe-B- 我在问题中修复了它,它只是 SOF 上的错字
  • 能否把{{ path('system_admin_client') }}生成的实际路径贴在你的按钮中(整个标签)?

标签: symfony


【解决方案1】:

302 HTTP 状态代码用于重定向,它不是错误。 这很正常,因为您返回了RedirectResponse

在我看来,问题不在于重定向。 您应该将其放回去并检查用户切换功能(或用户本身)。 如果这样做,请不要对重定向路径进行硬编码。使用 Symfony 方法生成它,例如:

return $this->redirectToRoute('system_admin_index');

【讨论】:

  • 我试过了,同样的事情发生重定向让我回到登录页面!
  • 你之前说过它可以工作。你到底做了什么改变,你想要达到什么目标?您是在开发用户切换功能还是只是切换用户来测试您的应用?
  • 刚刚切换用户
  • 顺便说一句,即使是老用户也有同样的问题
  • 我将整个项目恢复为喜欢(之前提交了 5 次),但不知道出了什么问题,我会深入研究并在找到时添加解决方案
【解决方案2】:

经过大量调查,我找到了解决方案。我正在使用 docker 使整个应用程序运行,并且由于某种原因 php-fpm 日志没有显示错误,但错误是由于用户无法访问而导致 php 会话被破坏,在 docker 上更改为 root 用户解决了这个问题,因为 root有访问权限。

【讨论】:

  • chown 到整个应用目录了吗?
猜你喜欢
  • 2013-12-20
  • 1970-01-01
  • 2014-08-25
  • 2016-12-21
  • 2012-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
相关资源
最近更新 更多