2017-02-21 3 views
0

私はFOSUserを使用してパスワードの回復を試みています。パスワードのリセットページに移動しようとするまで、ほとんどすべてがうまく動作します。FOSでパスワードを復元するユーザーバンドル

私はこのように私の電子メールのリンクを持っている:

http://localhost/yaaholidays/web/app_dev.php/en/resetting/reset/RYPuGNDgSel85v1Kcj3lrIqPRhuYt5inh3VQAOlRPgk

が、私はそれに行くしようとすると、FOSは

/リセット/リクエストに私をリダイレクト経路

これは私です

[2017年2月21日午後1時22分18秒] request.INFO:マッチしたルート "fos_user_resetting_reset" 私のログファイルを持っています。{"route": "route_parameters":{"_コントローラ": "FOS¥UserBundle¥Controller¥ResettingController :: resetAction"、 "_ locale": "en"、 "token": "RYPuGNDgSel85v1Kcj3lrIqPRhuYt5inh3VQAOlRPgk"、 "_ route ":" fos_user_resetting_reset "}、" REQUEST_URI ":" http://localhost/yaaholidays/web/app_dev.php/en/resetting/reset/RYPuGNDgSel85v1Kcj3lrIqPRhuYt5inh3VQAOlRPgk」、 "方法": "GET"} []

[2017年2月21日午後01時22分十八秒] security.INFOは:TokenStorage移入 匿名トークン[] []

[2017年2月21日午後01時22分18秒] doctrine.DEBUG:email_canonical_4 AS t0.email_canonical username_canonical_2 AS t0.username_canonical USERNAME_1、 EMAIL_3 AS t0.email、AS SELECT t0.username 、confirmation_token_9、password_requested_at_10 AS t0.password_requested_at、 roles_11 AS t0.roles、t0.id AS t0.confirmation_token enabled_5、salt_6 AS t0.salt、password_7 AS t0.password、 AS last_login_8 t0.last_login、AS t0.enabled AS id_12、t0.salutation AS salutation_13、 t0.first_name AS first_name_14、t0.surname AS surname_15、 t0.phone_number AS phone_number_16、t0.profile_picture AS profile_pictur e_17、t0.languages AS languages_18、t0.address AS address_19、t0.agency AS代理店_20 FROM fos_user t0 WHERE t0.confirmation_token =? LIMIT 1 [ "RYPuGNDgSel85v1Kcj3lrIqPRh [...]"] []

[2017年2月21日夜1時22分18秒] request.INFO:マッチしたルート "fos_user_resetting_request"。 "fos_user_resetting_request"、 "route_parameters":{"_コントローラ": "FOS \ UserBundle \コントローラ\ ResettingController :: requestAction"、 "_ロケール": "en"、 "_ルート": "fos_user_resetting_request"} "" REQUEST_URI ":" http://localhost/yaaholidays/web/app_dev.php/en/resetting/request」、 "方法": "GET"} []

[2017年2月21日十三時22分18秒] security.INFO: 匿名トークンとTokenStorageを移入。 [] [] [] []

[2017-02-21 13:22:18] translation.WARNING:翻訳が見つかりません。 {"id": "テレフォン"、 "ドメイン": "メッセージ"、 "ロケール": "en"} []

[2017-02-21 13:22:19] request.INFO: "_wdt" {"route": "_ wdt"、 "route_parameters":{"_コントローラ": "web_profiler.controller。「プロファイラ:toolbarAction」、「トークン」:「6f0aa9」、「_ルート」:「_ wdt」、「_ロケール」:「en」}「request_uri」:「http://localhost/yaaholidays/web/app_dev.php/_wdt/6f0aa9」「メソッド」:「GET」} []

FOSはなく、設定した新しいパスワードページのパスワード回復要求のページに私をリダイレクト理由を誰もが知っていますか?あなたのログを読み取ることにより

答えて

3

、それはパスワードのリセット要求の期限が切れているようです。ですあなたのリンクの有効期限が切れ?

コントローラFOS \ UserBundle \ Controller \ ResettingControllerでは、トークンからユーザーを取得した直後にイベントRESETTING_RESET_INITIALIZEが追加され、次にリスナーResettingListenerが呼び出されます。それがある場合nは、このリスナーは、メソッド(RESETTING_RESET_INITIALIZEイベントを管理する)onResettingResetInitializeチェックは、パスワード要求が期限切れとルートfos_user_resetting_requestにリダイレクトされている場合:

/** 
* @param GetResponseUserEvent $event 
*/ 
public function onResettingResetInitialize(GetResponseUserEvent $event) 
{ 
    if (!$event->getUser()->isPasswordRequestNonExpired($this->tokenTtl)) { 
     $event->setResponse(new RedirectResponse($this->router->generate('fos_user_resetting_request'))); 
    } 
} 

あなたは自分のパスワードやリンクをリセットするには、電子メールを受け取った場合まだ有効期限が切れていない場合は、config.xmlのfosuser設定を確認してください。あなたはこのような何かを持っている場合は

fos_user: 
    resetting: 
    token_ttl: 0 

は、その後、あなたのトークンTTLが有効になることはありません。この場合、トークンttlをたとえば86400(1日)に変更します。

+0

多くのことを説明してくれてありがとうございます:)答えを使って解決策を探します –

関連する問題