Laravel 5.4密码重置

3

我有一个Laravel 5.4应用程序,在我的管理员区域中有一个视图,可以让我查看所有用户。

我想创建一个功能,允许我在后端点击一个按钮,自动发送默认的Laravel密码重置功能。

在我的视图中,我有以下内容:

<table class="table table-hover">
                        <thead>
                            <th>#</th>
                            <th>Company</th>
                            <th>Name</th>
                            <th>Email Address</th>
                            <th>Action</th>
                        </thead>
                        <tbody>
                            @foreach(\App\User::all() as $c)
                                <tr>
                                    <td>{{ $c->id }}</td>
                                    <td>{{ $c->company->company_name }}</td>
                                    <td>{{ $c->name }}</td>
                                    <td>{{ $c->email }}</td>
                                    <td><a href="/admin/user/{{ $c->id }}/password/reset">Password Reset</a></td>
                                </tr>
                            @endforeach
                        </tbody>
                    </table>

在单击重置密码链接时,当前通过我的路由命中以下函数:
public function passwordReset($id)
    {

        $user = User::FindOrFail($id);

        Password::sendResetLink($user->email);

    }

我对Laravel的默认密码重置功能不太熟悉,所以可能离题了,但是我遇到了以下错误:

传递给Illuminate\Auth\Passwords\PasswordBroker::sendResetLink()的第一个参数必须是数组类型,但传递了字符串。


您需要传递一个凭据数组,而不是字符串。 - Ian
谢谢@Ian。如果这是一个发送密码重置功能,为什么我需要传递密码呢?毕竟这是由用户重置的吧? - Dev.W
您不需要传递密码。 - Ian
1个回答

10

你需要发送一个以 email 为键的数组:

Password::sendResetLink(['email' => $user->email]);

1
比5.2版本容易多了!! - akahunahi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接