[英]How to password reset in Laravel 5.4 by e-mail
當用戶單擊密碼重置按鈕時,如何將密碼重置鏈接發送到用戶電子郵件。
我有一個表格
<form action="/company/password/reset/" method="POST">
{{ csrf_field() }}
<div class="row">
<div class="input-field col s12">
<input placeholder="Enter your email" id="emails" type="email" class="validate" required name="email">
<label for="emails">E-mail Address</label>
</div>
</div>
<p><button type="submit" method="post">SUBMIT</button></p>
</form>
路線
Route::post('/password/company/reset/', 'PasswordResetController@company');
和控制器
public function company($email)
{
$company = $request->email;
Password::sendResetLink(['email' => $company]);
}
現在不起作用,這是正確的方法嗎?
我在laravel 5.4中找不到任何有關重置密碼的教程
我收到此錯誤:
用戶必須實現CanResetPassword接口。
如果您的表單操作是/company/password/reset/
,則路由應定義為
Route::post('/password/company/reset/','PasswordResetController@company');
可以在控制器中檢索表單的輸入,如下所示:
public function company(Request $request) {
$email = $request->email;
...
該文檔明確指出:
首先,請驗證您的
App\\User
模型是否實現了Illuminate\\Contracts\\Auth\\CanResetPassword
合同。 當然,框架附帶的App\\User
模型已經實現了此接口,並使用Illuminate\\Auth\\Passwords\\CanResetPassword
特征來包括實現接口所需的方法。
由於您具有一些自定義用戶模型,因此需要實施此合同才能使用Password::sendResetLink
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.