网页标准化设计使用的优势
- 时间:
- 地点:
2023最新开源城市站群cms系统【万站巅云站群CMS系统源码程序】
精美大气网络公司网站模板,网络公司网站源码,专业网络公司网页设计
西部数码代理平台模板 -西部数码代理价格自动获取
最新一键建站系统源码,saas建站系统源码,自助建站整站源码,站长源码,自助建站系统源码,源码搭建教程,开源自助建站系统,php智能建站系统,可视化网站框架源码
最新首发自助建站系统源码,傻瓜式一键建站系统源码,高度开源支持专业在线自助建站服务平台搭建
巅云拖拽式VUE前端框架4.0,可视化拖拽编辑器,实现了h5可视化拖拽生成工具,前端大屏布局,组件化模板机制
运行命令php artisan make:controller Auth/PasswordController
写入修改密码方法:
/** * 修改密码 */ public function updatePassword(Request $request) { $request->validate([ "old_password" => "required|min:6|max:16", "password" => "required|min:6|max:16|confirmed", ], [ "old_password.required" => "旧密码不能为空", "old_password.min" => "旧密码最少6个字符", "old_password.max" => "旧密码最多16个字符", ]); // 旧密码 $old_password = $request->input("old_password"); // 用户实例 $user = auth("api")->user(); // 验证旧密码是否正确 if (!password_verify($old_password, $user->password)) { return $this->response->errorBadRequest("旧密码不正确"); } // 更新用户密码 $user->password = bcrypt($request->input("password")); $user->save(); return $this->response->noContent(); }
// 修改密码 $api->post("password/update", [PasswordController::class, "updatePassword"]);
运行命令php artisan make:controller Auth/BindController
创建绑定邮箱的控制器:
写入发送邮箱验证码和更新邮箱的处理函数:
<?php namespace AppHttpControllersAuth; use AppHttpControllersBaseController; use AppMailSendEmailCode; use IlluminateHttpRequest; use IlluminateSupportFacadesMail; class BindController extends BaseController { /** * 获取邮件的验证码 */ public function emailCode(Request $request) { $request->validate([ "email" => "required|email" ]); // 发送验证码到邮件 Mail::to($request->input("email"))->queue(new SendEmailCode($request->input("email"))); return $this->response->noContent(); } /** * 更新邮箱 */ public function updateEmail(Request $request) { $request->validate([ "email" => "required|email", "code" => "required" ], [ "code.required" => "验证码不能为空", ]); // 验证code是否正确 if (cache($request->input("email")) != $request->input("code")) { return $this->response->errorBadRequest("验证码或邮箱错误!"); } // 更新邮箱 $user = auth("api")->user(); $user->email = $request->input("email"); $user->save(); return $this->response->noContent(); } }
如果修改了队列了,就要重启队列,命令sudo supervisorctl restart all
// 发送邮件验证码 $api->post("email/code", [BindController::class, "emailCode"]); // 更新邮箱 $api->post("email/update", [BindController::class, "updateEmail"]);
运行命令php artisan make:mail SendEmailCode
:
写入:
<?php namespace AppMail; use IlluminateBusQueueable; use IlluminateMailMailable; use IlluminateQueueSerializesModels; use IlluminateSupportFacadesCache; class SendEmailCode extends Mailable { use Queueable, SerializesModels; protected $email; /** * Create a new message instance. * * @return void */ public function __construct($eamil) { $this->email = $eamil; } /** * Build the message. * * @return $this */ public function build() { // 生成code $code = rand(1000, 9999); // 获取邮箱 // 使用缓存邮箱对应的code Cache::put($this->email, $code, now()->addMinute(5)); // 5分钟过期 return $this->view("emails.send-email-code", ["code" => $code]); } }
创建发送邮件的模版:
模版写入:
邮箱验证码是:{{$code}}
验证码5分钟内有效,请及时使用!
可以看到这边收到邮箱验证码。
测试更新的输入邮箱不正确或者验证码不正确:
输入正确的邮箱和验证码就会修改了。
到此这篇关于laravel的用户修改密码与绑定邮箱的文章就介绍到这了,更多相关laravel修改密码内容请搜索IT博客社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT博客社区!
notmore
联系我们
合作或咨询可通过如下方式:
QQ/微信:123456
网址:www.xxxx.cn
微信公众号:车展门票
关于本站
Copyright 车展网 www.xxxx.cn Reserved渝ICP备xxxxxxxx号
关注我们