doubi9999 2017-07-17 15:39
浏览 56
已采纳

如果Symfony 3中缺少参数,如何重定向到登录页面

I have the following code in Symfony 3 where some users have the wrong links and Symfony is showing a blank page for it. The code is something like this:

/**
   * @Route(
   *   "/account/reset-password/{user_id}/{hash}",
   *   name="reset_password"
   * )
   */
  public function accountResetPasswordAction(Request $request, $user_id, $hash) {}

/account/reset-password/1/abcd - this will be proper url

/account/reset-password//abcd - is there anyway I can redirect this to a login page?

  • 写回答

2条回答 默认 最新

  • dtx63505 2017-07-17 19:12
    关注

    There are two ways here, depending on your needs.

    First, with full control where to send the user.

     /**
       * @Route(
       *   "/account/reset-password/{user_id}/{hash}",
       *   name="reset_password"
       * )
       */
      public function accountResetPasswordAction(Request $request, $user_id = null, $hash = null) {
        if (!$user_id || !$hash) {
          return $this->redirectToRoute('your_login_route');
        }
      }
    

    If you are OK with a 404 page instead, you can put requirements on those two parameters.

    /**
      * @Route(
      *   "/account/reset-password/{user_id}/{hash}",
      *   name="reset_password",
      *   requirements={"user_id":"\d+", "hash":"[a-zA-Z0-9]+"}
      * )
      */
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘