ユーザーはFOSUserBundleのパスワードリセットを使用してパスワードをリセットした後、デフォルトでFOSUserProfileにリダイレクトされます。 別のルートにリダイレクトしたいです。 これは可能ですか?はいの場合、どうですか?FOSUserBundle:パスワードリセット後の成功ターゲット
14
A
答えて
37
それはリセット加入者を作成することによって行うことができます。
namespace Acme\UserBundle\EventListener;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\FormEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
/**
* Listener responsible to change the redirection at the end of the password resetting
*/
class PasswordResettingListener implements EventSubscriberInterface {
private $router;
public function __construct(UrlGeneratorInterface $router) {
$this->router = $router;
}
public static function getSubscribedEvents() {
return [
FOSUserEvents::RESETTING_RESET_SUCCESS => 'onPasswordResettingSuccess',
];
}
public function onPasswordResettingSuccess(FormEvent $event) {
$url = $this->router->generate('homepage');
$event->setResponse(new RedirectResponse($url));
}
}
そしてkernel.event_subscriber
タグと、それをサービスとして登録する:あなたはFOSユーザープロファイルビューを使用していない場合は
# src/Acme/UserBundle/Resources/config/services.yml
services:
acme_user.password_resetting:
class: Acme\UserBundle\EventListener\PasswordResettingListener
arguments: [ @router ]
tags:
- { name: kernel.event_subscriber }
19
醜い単純な方法があります:
app/config/routing.yml
:
fos_user_profile_show:
path: /yourpath
+2
絶対パスよりも良い名前の 'fos_user_profile_show'という名前で、あなた自身のコントローラでルートを宣言することもできます。 –
+2
@LouTerrailloune上記のルーティング設定に絶対URLはありません。それはそれのように見えるかもしれないが、それはaint –
関連する問題
- 1. は、フラッシュメッセージを追加し、成功したログイン後にリダイレクトするとsymfony 2.8とFOSUSerBundle 2.0を使用してFOSUserBundle
- 2. AJAX成功後のカプセル化成功
- 3. Symfony FOSUserBundleパスワードリセット - ファイルが見つかりませんでした
- 4. symfony with FosUserBundle - 2つの異なるログイン成功パス
- 5. Unbind @ Ajax.ActionLink成功後
- 6. 成功後のリダクトリダイレクトのリダイレクト
- 7. Ajaxの成功後のファイルアップロードダイアログ
- 8. ビルド成功後のジェンキンエラー
- 9. ログイン成功後の転送
- 10. Ajax成功後のモーダルリロード
- 11. FOSUserBundle登録後の確認
- 12. websql成功コールバックは、クエリ後
- 13. パスワードリセット後の自動ログインですか?
- 14. アップロード成功後にダウンロードURLを生成
- 15. train_on_batch最初のバッチ成功後のバッチエラー
- 16. コントローラのメソッド成功後のAjaxアラート
- 17. スキャン成功後のAVFoundationの停止
- 18. 検証後の成功ページへのリダイレクト
- 19. 成功後のテキストのクリア値は?
- 20. Android UpdateのJSONRequest成功後の表示
- 21. パスワードリセット後にユニークなページにリダイレクト
- 22. 完了後の成功メッセージjsonfile npm
- 23. 成功ログイン後に他のページにリダイレクト
- 24. jquery postメソッドと成功後のリダイレクト
- 25. アサート成功後の戻り値
- 26. 認証後のIonic/Firebase成功関数
- 27. 成功した計算後のランタイムエラー5
- 28. 成功ビルド後に別のブランチにオートメーション
- 29. ログイン成功後HomeViewのボタンを隠す
- 30. Ajax成功応答後のデータテーブルリロード
注:このソリューションでは、FOS Userbundleのマスターバージョンを使用する必要があります。 リセットコントローラを拡張し、getRedirectionUrl()メソッドを変更することで、類似の結果を得ることができます。 –