Laravel AUTH() - 添加其他用户(无需注册)

Posted

技术标签:

【中文标题】Laravel AUTH() - 添加其他用户(无需注册)【英文标题】:Laravel AUTH() - Adding additional users (without registration) 【发布时间】:2021-02-23 10:16:45 【问题描述】:

我试图找到这方面的信息,但找不到任何信息。我有一个 Laravel 7 应用程序,并使用 Laravel AUTH 脚手架进行登录/注册/身份验证。

我想允许登录用户添加其他用户,我已经完成了简单但将数据推送到数据库(显然没有设置密码)但现在我想向这些用户发送电子邮件要求他们设置密码,但不确定如何执行此操作。我看到 Laravel 有一些与内置身份验证相关的事件,例如在 RegistersUsers.phpregister 函数中调用的事件:

event(new Registered($user = $this->create($request->all())));

谁能确认我需要在哪里创建这样的事件以及如何从将用户添加到数据库的存储函数中调用它?

非常感谢任何帮助。

【问题讨论】:

你可以这样调用它,但是将你创建的用户传递给事件的构造函数 我使用随机密码创建用户,并使用密码重置功能(邮件和视图中包含其他一些文本) 谢谢小伙子们,我已经按照@lagbox 的建议完成了操作,并将用户对象传递给了事件构造函数。对于密码重置,这是我的退路,但我希望有更多的控制器,所以我会看看是否可以用客户欢迎消息复制密码重置功能(例如,单击此处为您的新帐户设置密码) . 【参考方案1】:

正如@lagbox 所建议的,我只是做了以下事情:

$user = \App\User::create([
            'firstname' => $validatedData['firstname'],
            'lastname' => $validatedData['lastname'],
            'email' => $validatedData['email'],
            'company_id' => $company_id,
            'phone_number' => $validatedData['phone_number'],
            'password' => Str::random(16),
        ]);

    event(new Registered($user));

【讨论】:

以上是关于Laravel AUTH() - 添加其他用户(无需注册)的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 身份验证:尝试无密码

Laravel Auth验证

laravel 8 auth Route [login] 未定义

Laravel 8 tymon/jwt-auth 使另一个用户的令牌无效

Laravel 和 jwt-auth。如何检查用户电子邮件是不是经过验证

在 Laravel Auth 中自定义重定向