Laravel发送";创建密码电子邮件";在管理员从管理面板创建新用户之后



我有一个管理面板。用户不能自己创建用户帐户,只有管理员有权这样做;用户名";以及";电子邮件";。我想要实现的是当他创建了一个新用户,用他的";用户名";以及";电子邮件"+按钮或链接来创建他的密码。我试图搜索有关自定义默认重置密码功能的信息,但我失败了。有人能提供一些更简单的方法吗?谢谢

我认为这很容易,在我看来,如果你开始思考而不是"如何定制现有功能";至";如何创建我自己的功能";,你很快就能自己想出来。

例如,你可以这样做,在注册用户后,你可以在注册电子邮件中发送一个链接到";设置我的密码";链接可能看起来像https://example.com/user/finish-registration?hash=sadfjasdnfdaisfnsduff

//migration
Schema::create($table, function() => {
$table->string("set_password_hash");
$table->string("username");
});
//signup method
public function signUpUser(Request $request) {

$user = new User();
$user->username = $request->input("username");
$user->email = $request->input("email");
$user->set_password_hash = Hash::make(20); //or some random hash generator
//set as empty string
$user->password = "";
$user->save();
$signupMail = new SignupMail($user);
$signupMail->send();
}
public function setPasswordView(Request $request) {
$user = User::where("set_password_hash", $request->input("hash"))->first();
if($user) {
if($user->password === "") {
//display a form for the user to create his own password
return view("user.setPassword");
} else {
//the password has already been set    
}
}
//fail or something
}

相关内容

  • 没有找到相关文章

最新更新