codenrx / forgetpassword
这是一个用于忘记密码系统的Laravel包
dev-master
2019-09-04 23:21 UTC
This package is auto-updated.
Last update: 2024-09-05 09:55:23 UTC
README
这是一个Laravel包,用于忘记密码系统,您可以通过发送链接到用户的电子邮件来重置密码
请在使用前阅读完整文档!
安装
composer require codenrx/forgetpassword
在 config/app.php 的 providers 数组中添加以下行
codenrx\forgetpassword\ForgetpasswordServiceProvider::class,
然后,使用以下命令在 config 文件夹中发布包配置文件(forgetpassword.php)和在 views 文件夹中的电子邮件模板。
php artisan vendor:publish --provider="codenrx\forgetpassword\ForgetpasswordServiceProvider"
打开项目中的 .env 文件并设置数据库和邮件连接。然后,
php artisan migrate
用法
在您的控制器顶部添加以下行
use codenrx\forgetpassword\Model\Password;
然后,
Password::send($email);
在这里,$email 内容是用户电子邮件。您可以传递 $request->email 或任何内容。
Password::send($email) 帮助您向用户的电子邮件发送链接。注意,它还会检查用户是否存在!如果用户未找到,即电子邮件不在数据库中,它将返回 failed。否则,它将返回 success
此包仅返回两件事
- 失败
- 成功
其他方法包括
Password::check($token):它帮助您检查令牌是否存在于数据库中!Password::updatePassword($password, $token)这里$password将是用户的新密码
示例
路由
// Forget Password page Route::get('/forget-password', 'forgetController@index'); Route::post('/forget-password', 'forgetController@send'); // reset password page Route::get('/reset-password/{token}', 'forgetController@check'); Route::post('/reset-password/{token}', 'forgetController@update');
更新您的配置文件
前往 config/forgetpassword.php。然后您会看到,
<?php return [ 'address' => 'mygmail@gmail.com', 'name' => 'Reset Your Password :: Mysite.com', 'url' => 'https:url.com/reset-password/' // It's Very Important . ];
控制器 [方法]
public function index()
{
return view('my-view');
}
public function send(Request $request)
{
$result = Password::send($request->email);
if ($result != 'failed') {
return redirect()->back()->with('success','Reset Password link has been sent to your email');
} else {
return "User Not Exixts !!";
}
}
public function check($token)
{
$check = Password::check($token);
if ($check != 'failed') {
return view('test');
} else {
return "Invalid Token !!";
}
}
public function update(Request $request,$token)
{
// No need to hash or bcypt your password ...
$check = Password::updatePassword($request->password,$token);
if ($check != 'failed') {
return redirect()->back()->with('success','Password Changed !!');
} else {
return "Invalid Token !!";
}
}
自定义
您还可以自定义电子邮件模板。您需要前往 /resources/views/vendor/email。
更多信息
享受!