2015-10-27 93 views
0

我跟隨this關於設置與Laravel身份驗證教程,我主要是除了一點之外。更改密碼重置在Laravel重定向鏈接5

當我提出重置密碼的請求時,我收到一封電子郵件發送給我,如果我點擊郵件中的鏈接,我會收到一張表格,然後我會正確填寫並希望被重定向回/儀表板,但是這絕不會發生,而是重定向到/ home。

我無法提供任何代碼,因爲所有事情都是由Laravel在幕後完成的。任何幫助表示讚賞:)。

+2

讓我諮詢一下我的水晶球......沒有,沒有。你如何發佈一些代碼,所以我不必嘗試佔領它呢? – Styphon

+0

我不確定要發佈什麼樣的代碼,所有的工作都是由Laravel完成的 –

+1

你將不得不做一些工作來縮小問題的範圍,那麼不是嗎?我們無法知道您的代碼是如何實現的。如果我安裝Laravel的新副本,它將正常工作。從那裏開始(帶有新的副本)並開始進行更改,在每個階段進行測試,直到最終停止工作。 – Styphon

回答

4

這是因爲你期望重置密碼控制器將您重定向到/dashboard上覆位成功。也許我錯了,但在指定的代碼中沒有看到任何地方(如您所說,基於新的Laravel安裝)。

爲了證明這一點,讓我們來看看代碼:

默認情況下,在一個新的Laravel安裝在您的app/Http/Controllers/Auth/目錄獲得PasswordController。在line 21 of that file,它'包括'ResetsPasswords的特質。所以讓我們看看這個特質。

正如你所看到的,在postReset方法(這是運行做最後的實際密碼重置的方法),重定向位置被推遲到redirectPath,在line 95,正如你所看到的,在line 131代碼如果控制器上沒有redirectPathredirectTo屬性,則將用戶轉發到/home

因此,要手動設置重定向位置,請在您的Http\Controllers\Auth\PasswordController類中設置protected $redirectPath = '/dashboard';

但是,在您鏈接到的頁面上,請參閱"After resetting passwords"這部分的官方文檔。

3

您必須在您的PasswordController中設置屬性redirectPath,該屬性在您使用Laravel的內置功能登錄後用於重定向。

應該是這樣的:

# PasswordController.php 

protected $redirectPath = '/dashboard'; 
+0

5.4我相信這已經改變爲:'protected $ redirectTo ='/';'你也可以在這裏閱讀更多:https://laravel.com/docs/5.4/authentication#authentication-quickstart *路徑定製* – Djave